openwrt/target/linux/mediatek/image/mt7622.mk
Roland Reinl fdb87a91b4 mediatek: Add support for D-Link EAGLE PRO AI R32
R32 is like the M32 part of the EAGLE PRO AI series from D-Link.

Specification:
 - MT7622BV SoC with 2.4GHz wifi
 - MT7975AN + MT7915AN for 5GHz
 - MT7531BE Switch
 - 512MB RAM
 - 128 MB flash
 - 2 LEDs (Status and Internet, both can be either orange or white)
 - 2 buttons (WPS and Reset)

Compared to M32, the R32 has the following differences:
 - 4 LAN ports instead of 2
 - The recory image starts with DLK6E6015001 instaed of DLK6E6010001
 - Individual LEDs for power and internet
 - MAC address is stored at another offset in the ODM partition

MAC addresses:
 - WAN MAC is stored in partition "Odm" at offset 0x81
 - LAN (as printed on the device) is WAN MAC + 1
 - WLAN MAC (2.4 GHz) is WAN MAC + 2
 - WLAN MAC (5GHz) is WAN MAC + 3

Flashing via Recovery Web Interface:
 - Set your IP address to 192.168.0.10, subnetmask 255.255.255.0
 - Press the reset button while powering on the deivce
 - Keep the reset button pressed until the internet LED blinks fast
 - Open a Chromium based and goto http://192.168.0.1
 - Download openwrt-mediatek-mt7622-dlink_eagle-pro-ai-r32-a1-squashfs-recovery.bin

Flashing via uBoot:
 - Open the case, connect to the UART console
 - Set your IP address to 10.10.10.3, subnet mask 255.255.255.0. Connect to one of the LAN interfaces of the router
 - Run a tftp server which provides openwrt-mediatek-mt7622-dlink_eagle-pro-ai-r32-initramfs-kernel.bin.
 - You can rename the file to iverson_uImage (no extension), then you don't have to enter the whole file name in uboot later.
 - Power on the device and select "1. System Load Linux to SDRAM via TFTP." in the boot menu
 - Enter image file, tftp server IP and device IP (if they differ from the default).
 - TFTP download to RAM will start. After a few seconds OpenWrt initramfs should start
 - The initramfs is accessible via 192.168.1.1, change your IP address accordingly (or use multiple IP addresses on your interface)
 - Create a backup of the Kernel1 partition, this file is required if a revert to stock should be done later
 - Perform a sysupgrade using openwrt-mediatek-mt7622-dlink_eagle-pro-ai-r32-squashfs-sysupgrade.bin
 - Reboot the device. OpenWrt should start from flash now

Revert back to stock using the Recovery Web Interface:
 - Set your IP address to 192.168.0.10, subnetmask 255.255.255.0
 - Press the reset button while powering on the deivce
 - Keep the reset button pressed until the internet LED blinks fast
 - Open a Chromium based and goto http://192.168.0.1
 - Flash a decrypted firmware image from D-Link. Decrypting an firmware image is described below.

Decrypting a D-Link firmware image:
 - Download https://github.com/RolandoMagico/firmware-utils/blob/M32/src/m32-firmware-util.c
 - Compile a binary from the downloaded file, e.g. gcc m32-firmware-util.c -lcrypto -o m32-firmware-util
 - Run ./m32-firmware-util R32 --DecryptFactoryImage <OriginalFirmware> <OutputFile>
 - Example for firmware R32A1_FW103B01: ./m32-firmware-util R32 --DecryptFactoryImage R32A1_FW103B01.bin R32A1_FW103B01.decrypted.bin

Revert back to stock using uBoot:
 - Open the case, connect to the UART console
 - Set your IP address to 10.10.10.3, subnet mask 255.255.255.0. Connect to one of the LAN interfaces of the router
 - Run a tftp server which provides the previously created backup of the Kernel1 partition.
 - You can rename the file to iverson_uImage (no extension), then you don't have to enter the whole file name in uboot later.
 - Power on the device and select "2. System Load Linux Kernel then write to Flash via TFTP." in the boot menu
 - Enter image file, tftp server IP and device IP (if they differ from the default).
 - TFTP download to FLASH will start. After a few seconds the stock firmware should start again

There is also an image openwrt-mediatek-mt7622-dlink_eagle-pro-ai-r32-a1-squashfs-tftp.bin which can directly be flashed via U-Boot and TFTP.
It can be used if no backup of the Kernel1 partition is reuqired.

Flahsing via OEM web interface is currently not possible, the OEM images are encrypted. Creating images is only possible manually at the moment.
The support for the M32/R32 already includes support for flashing from the OEM web interface:
 - The device tree contains both partitions (Kernel1 and Kernel2) with conditions to select the correct one based on the kernel command line
 - The U-Boot variable "boot_part" is set accordingly during startup to finish the partition swap after flashing from the OEM web interface
 - OpenWrt sysupgrade flashing always uses the partition where it was initially flashed to (no partition swap)

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
2024-01-02 21:22:46 +01:00

468 lines
17 KiB
Makefile

DTS_DIR := $(DTS_DIR)/mediatek
DEVICE_VARS += BUFFALO_TRX_MAGIC
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-trx
$(eval magic=$(word 1,$(1)))
$(eval kern_bin=$(if $(1),$(IMAGE_KERNEL),$@))
$(eval rtfs_bin=$(word 2,$(1)))
$(eval apnd_bin=$(word 3,$(1)))
$(eval kern_size=$(if $(KERNEL_SIZE),$(KERNEL_SIZE),0x400000))
$(if $(rtfs_bin),touch $(rtfs_bin))
$(STAGING_DIR_HOST)/bin/otrx create $@.new \
$(if $(magic),-M $(magic),) \
-f $(kern_bin) \
$(if $(rtfs_bin),\
-a 0x20000 \
-b $$(( $(call exp_units,$(kern_size)) )) \
-f $(rtfs_bin),) \
$(if $(apnd_bin),\
-A $(apnd_bin) \
-a 0x20000)
mv $@.new $@
endef
define Build/bl2
cat $(STAGING_DIR_IMAGE)/mt7622-$1-bl2.img >> $@
endef
define Build/bl31-uboot
cat $(STAGING_DIR_IMAGE)/mt7622_$1-u-boot.fip >> $@
endef
# Append header to a D-Link M32/R32 Kernel 1 partition
define Build/m32-r32-recovery-header-kernel1
$(eval header_start=$(word 1,$(1)))
# create $@.header without the checksum
echo -en "$(header_start)\x00\x00" > "$@.header"
# Calculate checksum over data area ($@) and append it to the header.
# The checksum is the 2byte-sum over the whole data area.
# Every overflow during the checksum calculation must increment the current checksum value by 1.
od -v -w2 -tu2 -An --endian little "$@" | awk '{ s+=$$1; } END { s%=65535; printf "%c%c",s%256,s/256; }' >> "$@.header"
echo -en "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x8D\x57\x30\x0B" >> "$@.header"
# Byte 0-3: Erase Start 0x002C0000
# Byte 4-7: Erase Length 0x02D00000
# Byte 8-11: Data offset: 0x002C0000
# Byte 12-15: Data Length: 0x02D00000
echo -en "\x00\x00\x2C\x00\x00\x00\xD0\x02\x00\x00\x2C\x00\x00\x00\xD0\x02" >> "$@.header"
# Only zeros
echo -en "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" >> "$@.header"
# Last 16 bytes, but without checksum
echo -en "\x42\x48\x02\x00\x00\x00\x08\x00\x00\x00\x00\x00\x60\x6E" >> "$@.header"
# Calculate and append checksum: The checksum must be set so that the 2byte-sum of the whole header is 0.
# Every overflow during the checksum calculation must increment the current checksum value by 1.
od -v -w2 -tu2 -An --endian little "$@.header" | awk '{s+=65535-$$1;}END{s%=65535;printf "%c%c",s%256,s/256;}' >> "$@.header"
cat "$@.header" "$@" > "$@.new"
mv "$@.new" "$@"
rm "$@.header"
endef
define Build/mt7622-gpt
cp $@ $@.tmp 2>/dev/null || true
ptgen -g -o $@.tmp -a 1 -l 1024 \
$(if $(findstring sdmmc,$1), \
-H \
-t 0x83 -N bl2 -r -p 512k@512k \
) \
-t 0xef -N fip -r -p 2M@2M \
-t 0x83 -N ubootenv -r -p 1M@4M \
-N recovery -r -p 32M@6M \
$(if $(findstring sdmmc,$1), \
-N install -r -p 7M@38M \
-t 0x2e -N production -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)M@45M \
) \
$(if $(findstring emmc,$1), \
-t 0x2e -N production -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)M@40M \
)
cat $@.tmp >> $@
rm $@.tmp
endef
define Device/bananapi_bpi-r64
DEVICE_VENDOR := Bananapi
DEVICE_MODEL := BPi-R64
DEVICE_DTS := mt7622-bananapi-bpi-r64
DEVICE_DTS_OVERLAY := mt7622-bananapi-bpi-r64-pcie1 mt7622-bananapi-bpi-r64-sata
DEVICE_PACKAGES := kmod-ata-ahci-mtk kmod-btmtkuart kmod-usb3 e2fsprogs mkf2fs f2fsck
DEVICE_DTC_FLAGS := --pad 4096
DEVICE_DTS_LOADADDR := 0x43f00000
ARTIFACTS := emmc-preloader.bin emmc-bl31-uboot.fip sdcard.img.gz snand-preloader.bin snand-bl31-uboot.fip
IMAGES := sysupgrade.itb
KERNEL_INITRAMFS_SUFFIX := -recovery.itb
ARTIFACT/emmc-preloader.bin := bl2 emmc-2ddr
ARTIFACT/emmc-bl31-uboot.fip := bl31-uboot bananapi_bpi-r64-emmc
ARTIFACT/snand-preloader.bin := bl2 snand-2ddr
ARTIFACT/snand-bl31-uboot.fip := bl31-uboot bananapi_bpi-r64-snand
ARTIFACT/sdcard.img.gz := mt7622-gpt sdmmc |\
pad-to 512k | bl2 sdmmc-2ddr |\
pad-to 2048k | bl31-uboot bananapi_bpi-r64-sdmmc |\
$(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),\
pad-to 6144k | append-image-stage initramfs-recovery.itb | check-size 38912k |\
) \
pad-to 38912k | mt7622-gpt emmc |\
pad-to 39424k | bl2 emmc-2ddr |\
pad-to 40960k | bl31-uboot bananapi_bpi-r64-emmc |\
pad-to 43008k | bl2 snand-2ddr |\
pad-to 43520k | bl31-uboot bananapi_bpi-r64-snand |\
$(if $(CONFIG_TARGET_ROOTFS_SQUASHFS), \
pad-to 46080k | append-image squashfs-sysupgrade.itb | check-size |\
) \
gzip
ifeq ($(DUMP),)
IMAGE_SIZE := $$(shell expr 45 + $$(CONFIG_TARGET_ROOTFS_PARTSIZE))m
endif
KERNEL := kernel-bin | gzip
KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb with-initrd | pad-to 128k
IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb external-static-with-rootfs | append-metadata
DEVICE_COMPAT_VERSION := 1.1
DEVICE_COMPAT_MESSAGE := Device tree overlay mechanism needs bootloader update
endef
TARGET_DEVICES += bananapi_bpi-r64
define Device/buffalo_wsr
DEVICE_VENDOR := Buffalo
DEVICE_DTS_DIR := ../dts
KERNEL_SIZE := 6144k
BLOCKSIZE := 128k
PAGESIZE := 2048
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-trx
IMAGE/factory.bin = append-ubi | \
buffalo-trx $$$$(BUFFALO_TRX_MAGIC) $$$$@ $(KDIR)/ubi_mark | \
buffalo-enc $$(DEVICE_MODEL) $$(BUFFALO_TAG_VERSION) -l | \
buffalo-tag-dhp $$(DEVICE_MODEL) JP JP | buffalo-enc-tag -l | buffalo-dhp-image
IMAGE/factory-uboot.bin := append-ubi | \
buffalo-trx $$$$(BUFFALO_TRX_MAGIC) $$$$@ $(KDIR)/ubi_mark
IMAGE/sysupgrade.bin := \
buffalo-trx $$$$(BUFFALO_TRX_MAGIC) $(KDIR)/tmp/$$(DEVICE_NAME).null | \
sysupgrade-tar kernel=$$$$@ | append-metadata
endef
define Device/buffalo_wsr-2533dhp2
$(Device/buffalo_wsr)
DEVICE_MODEL := WSR-2533DHP2
DEVICE_DTS := mt7622-buffalo-wsr-2533dhp2
IMAGE_SIZE := 59392k
SUBPAGESIZE := 512
BUFFALO_TRX_MAGIC := 0x32504844
DEVICE_PACKAGES := kmod-mt7615-firmware swconfig
DEVICE_COMPAT_VERSION := 1.1
DEVICE_COMPAT_MESSAGE := Partition table has been changed due to kernel size restrictions. \
Please upgrade via sysupgrade with factory-uboot.bin image and '-F' option. \
(Warning: your configurations will be erased!)
endef
TARGET_DEVICES += buffalo_wsr-2533dhp2
define Device/buffalo_wsr-3200ax4s
$(Device/buffalo_wsr)
DEVICE_MODEL := WSR-3200AX4S
DEVICE_DTS := mt7622-buffalo-wsr-3200ax4s
IMAGE_SIZE := 24576k
BUFFALO_TRX_MAGIC := 0x33504844
DEVICE_PACKAGES := kmod-mt7915-firmware
endef
TARGET_DEVICES += buffalo_wsr-3200ax4s
define Device/dlink_eagle-pro-ai-ax3200-a1
IMAGE_SIZE := 46080k
DEVICE_VENDOR := D-Link
DEVICE_VARIANT := A1
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915-firmware
KERNEL_SIZE := 8192k
BLOCKSIZE := 128k
PAGESIZE := 2048
UBINIZE_OPTS := -E 5
IMAGES += tftp.bin recovery.bin
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
IMAGE/tftp.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size
endef
define Device/dlink_eagle-pro-ai-m32-a1
$(Device/dlink_eagle-pro-ai-ax3200-a1)
DEVICE_MODEL := EAGLE PRO AI M32
DEVICE_DTS := mt7622-dlink-eagle-pro-ai-m32-a1
IMAGE/recovery.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | pad-to $$(IMAGE_SIZE) | m32-r32-recovery-header-kernel1 DLK6E6010001
endef
TARGET_DEVICES += dlink_eagle-pro-ai-m32-a1
define Device/dlink_eagle-pro-ai-r32-a1
$(Device/dlink_eagle-pro-ai-ax3200-a1)
DEVICE_MODEL := EAGLE PRO AI R32
DEVICE_DTS := mt7622-dlink-eagle-pro-ai-r32-a1
IMAGE/recovery.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | pad-to $$(IMAGE_SIZE) | m32-r32-recovery-header-kernel1 DLK6E6015001
endef
TARGET_DEVICES += dlink_eagle-pro-ai-r32-a1
define Device/elecom_wrc-2533gent
DEVICE_VENDOR := Elecom
DEVICE_MODEL := WRC-2533GENT
DEVICE_DTS := mt7622-elecom-wrc-2533gent
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-btmtkuart kmod-mt7615-firmware kmod-usb3 swconfig
endef
TARGET_DEVICES += elecom_wrc-2533gent
define Device/elecom_wrc-x3200gst3
DEVICE_VENDOR := ELECOM
DEVICE_MODEL := WRC-X3200GST3
DEVICE_DTS := mt7622-elecom-wrc-x3200gst3
DEVICE_DTS_DIR := ../dts
IMAGE_SIZE := 25600k
KERNEL_SIZE := 6144k
BLOCKSIZE := 128k
PAGESIZE := 2048
UBINIZE_OPTS := -E 5
IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | \
append-ubi | check-size | \
elecom-wrc-gs-factory WRC-X3200GST3 0.00 -N | \
append-string MT7622_ELECOM_WRC-X3200GST3
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
DEVICE_PACKAGES := kmod-mt7915-firmware
endef
TARGET_DEVICES += elecom_wrc-x3200gst3
define Device/linksys_e8450
DEVICE_VENDOR := Linksys
DEVICE_MODEL := E8450
DEVICE_ALT0_VENDOR := Belkin
DEVICE_ALT0_MODEL := RT3200
DEVICE_DTS := mt7622-linksys-e8450
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915-firmware kmod-usb3
endef
TARGET_DEVICES += linksys_e8450
define Device/linksys_e8450-ubi
DEVICE_VENDOR := Linksys
DEVICE_MODEL := E8450
DEVICE_VARIANT := UBI
DEVICE_ALT0_VENDOR := Belkin
DEVICE_ALT0_MODEL := RT3200
DEVICE_ALT0_VARIANT := UBI
DEVICE_DTS := mt7622-linksys-e8450-ubi
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915-firmware kmod-usb3
UBINIZE_OPTS := -E 5
BLOCKSIZE := 128k
PAGESIZE := 2048
UBOOTENV_IN_UBI := 1
KERNEL_IN_UBI := 1
KERNEL := kernel-bin | gzip
# recovery can also be used with stock firmware web-ui, hence the padding...
KERNEL_INITRAMFS := kernel-bin | lzma | \
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 128k
KERNEL_INITRAMFS_SUFFIX := -recovery.itb
IMAGES := sysupgrade.itb
IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
ARTIFACTS := preloader.bin bl31-uboot.fip
ARTIFACT/preloader.bin := bl2 snand-1ddr
ARTIFACT/bl31-uboot.fip := bl31-uboot linksys_e8450
endef
TARGET_DEVICES += linksys_e8450-ubi
define Device/mediatek_mt7622-rfb1
DEVICE_VENDOR := MediaTek
DEVICE_MODEL := MTK7622 rfb1 AP
DEVICE_DTS := mt7622-rfb1
DEVICE_PACKAGES := kmod-ata-ahci-mtk kmod-btmtkuart kmod-usb3
endef
TARGET_DEVICES += mediatek_mt7622-rfb1
define Device/mediatek_mt7622-rfb1-ubi
DEVICE_VENDOR := MediaTek
DEVICE_MODEL := MTK7622 rfb1 AP (UBI)
DEVICE_DTS := mt7622-rfb1-ubi
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-ata-ahci-mtk kmod-btmtkuart kmod-usb3
BOARD_NAME := mediatek,mt7622-rfb1-ubi
UBINIZE_OPTS := -E 5
BLOCKSIZE := 128k
PAGESIZE := 2048
KERNEL_SIZE := 4194304
IMAGE_SIZE := 32768k
IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
check-size $$$$(IMAGE_SIZE)
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
TARGET_DEVICES += mediatek_mt7622-rfb1-ubi
define Device/netgear_wax206
$(Device/dsa-migration)
DEVICE_VENDOR := NETGEAR
DEVICE_MODEL := WAX206
DEVICE_DTS := mt7622-netgear-wax206
DEVICE_DTS_DIR := ../dts
NETGEAR_ENC_MODEL := WAX206
NETGEAR_ENC_REGION := US
DEVICE_PACKAGES := kmod-mt7915-firmware
UBINIZE_OPTS := -E 5
BLOCKSIZE := 128k
PAGESIZE := 2048
KERNEL_SIZE := 6144k
IMAGE_SIZE := 32768k
KERNEL := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb | \
append-squashfs4-fakeroot
# recovery can also be used with stock firmware web-ui, hence the padding...
KERNEL_INITRAMFS := kernel-bin | lzma | \
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 128k
KERNEL_INITRAMFS_SUFFIX := -recovery.itb
IMAGES += factory.img
IMAGE/factory.img := append-kernel | pad-to $$(KERNEL_SIZE) | \
append-ubi | check-size | netgear-encrypted-factory
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
TARGET_DEVICES += netgear_wax206
define Device/ruijie_rg-ew3200gx-pro
DEVICE_VENDOR := Ruijie
DEVICE_MODEL := RG-EW3200GX PRO
DEVICE_DTS := mt7622-ruijie-rg-ew3200gx-pro
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915-firmware
endef
TARGET_DEVICES += ruijie_rg-ew3200gx-pro
define Device/reyee_ax3200-e5
DEVICE_VENDOR := reyee
DEVICE_MODEL := AX3200 E5
DEVICE_DTS := mt7622-reyee-ax3200-e5
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915-firmware
endef
TARGET_DEVICES += reyee_ax3200-e5
define Device/totolink_a8000ru
DEVICE_VENDOR := TOTOLINK
DEVICE_MODEL := A8000RU
DEVICE_DTS := mt7622-totolink-a8000ru
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7615-firmware swconfig
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
TARGET_DEVICES += totolink_a8000ru
define Device/ubnt_unifi-6-lr-v1
DEVICE_VENDOR := Ubiquiti
DEVICE_MODEL := UniFi 6 LR
DEVICE_VARIANT := v1
DEVICE_DTS_CONFIG := config@1
DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v1
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915-firmware kmod-leds-ubnt-ledbar
SUPPORTED_DEVICES += ubnt,unifi-6-lr
endef
TARGET_DEVICES += ubnt_unifi-6-lr-v1
define Device/ubnt_unifi-6-lr-v1-ubootmod
DEVICE_VENDOR := Ubiquiti
DEVICE_MODEL := UniFi 6 LR
DEVICE_VARIANT := v1 U-Boot mod
DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v1-ubootmod
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915-firmware kmod-leds-ubnt-ledbar
KERNEL := kernel-bin | lzma
KERNEL_INITRAMFS_SUFFIX := -recovery.itb
KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
IMAGES := sysupgrade.itb
IMAGE/sysupgrade.itb := append-kernel | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
ARTIFACTS := preloader.bin bl31-uboot.fip
ARTIFACT/preloader.bin := bl2 nor-2ddr
ARTIFACT/bl31-uboot.fip := bl31-uboot ubnt_unifi-6-lr-v1
SUPPORTED_DEVICES += ubnt,unifi-6-lr-ubootmod
endef
TARGET_DEVICES += ubnt_unifi-6-lr-v1-ubootmod
define Device/ubnt_unifi-6-lr-v2
DEVICE_VENDOR := Ubiquiti
DEVICE_MODEL := UniFi 6 LR
DEVICE_VARIANT := v2
DEVICE_DTS_CONFIG := config@1
DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v2
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915-firmware
endef
TARGET_DEVICES += ubnt_unifi-6-lr-v2
define Device/ubnt_unifi-6-lr-v2-ubootmod
DEVICE_VENDOR := Ubiquiti
DEVICE_MODEL := UniFi 6 LR
DEVICE_VARIANT := v2 U-Boot mod
DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v2-ubootmod
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915-firmware
KERNEL := kernel-bin | lzma
KERNEL_INITRAMFS_SUFFIX := -recovery.itb
KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
IMAGES := sysupgrade.itb
IMAGE/sysupgrade.itb := append-kernel | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
ARTIFACTS := preloader.bin bl31-uboot.fip
ARTIFACT/preloader.bin := bl2 nor-2ddr
ARTIFACT/bl31-uboot.fip := bl31-uboot ubnt_unifi-6-lr-v2
endef
TARGET_DEVICES += ubnt_unifi-6-lr-v2-ubootmod
define Device/ubnt_unifi-6-lr-v3
DEVICE_VENDOR := Ubiquiti
DEVICE_MODEL := UniFi 6 LR
DEVICE_VARIANT := v3
DEVICE_DTS_CONFIG := config@1
DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v3
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915-firmware
endef
TARGET_DEVICES += ubnt_unifi-6-lr-v3
define Device/ubnt_unifi-6-lr-v3-ubootmod
DEVICE_VENDOR := Ubiquiti
DEVICE_MODEL := UniFi 6 LR
DEVICE_VARIANT := v3 U-Boot mod
DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v3-ubootmod
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915-firmware
KERNEL := kernel-bin | lzma
KERNEL_INITRAMFS_SUFFIX := -recovery.itb
KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
IMAGES := sysupgrade.itb
IMAGE/sysupgrade.itb := append-kernel | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
ARTIFACTS := preloader.bin bl31-uboot.fip
ARTIFACT/preloader.bin := bl2 nor-2ddr
ARTIFACT/bl31-uboot.fip := bl31-uboot ubnt_unifi-6-lr-v3
endef
TARGET_DEVICES += ubnt_unifi-6-lr-v3-ubootmod
define Device/xiaomi_redmi-router-ax6s
DEVICE_VENDOR := Xiaomi
DEVICE_MODEL := Redmi Router AX6S
DEVICE_ALT0_VENDOR := Xiaomi
DEVICE_ALT0_MODEL := Router AX3200
DEVICE_DTS := mt7622-xiaomi-redmi-router-ax6s
DEVICE_DTS_DIR := ../dts
BOARD_NAME := xiaomi,redmi-router-ax6s
DEVICE_PACKAGES := kmod-mt7915-firmware
UBINIZE_OPTS := -E 5
IMAGES += factory.bin
BLOCKSIZE := 128k
PAGESIZE := 2048
KERNEL_SIZE := 4096k
KERNEL_INITRAMFS_SUFFIX := -recovery.itb
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
TARGET_DEVICES += xiaomi_redmi-router-ax6s