ipq40xx: add support for Linksys EA6350v3
[openwrt/staging/mkresin.git] / target / linux / ipq40xx / image / Makefile
index d95c1516533885a982b1de61af99955b186a35aa..a670380ab31ff7ba53a0d1aa7c88404930e32bad 100644 (file)
@@ -26,6 +26,12 @@ define Device/FitImageLzma
        KERNEL_NAME := Image
 endef
 
+define Device/FitzImage
+       KERNEL_SUFFIX := -fit-zImage.itb
+       KERNEL = kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb
+       KERNEL_NAME := zImage
+endef
+
 define Device/UbiFit
        KERNEL_IN_UBI := 1
        IMAGES := nand-factory.ubi nand-sysupgrade.bin
@@ -82,12 +88,12 @@ define Device/avm_fritzbox-4040
        BOARD_NAME := fritz4040
        DEVICE_TITLE := AVM Fritz!Box 4040
        IMAGE_SIZE := 29753344
-       UBOOT_PATH := $$(BIN_DIR)/u-boot-fritz4040/uboot-fritz4040.bin
+       UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-fritz4040.bin
        UBOOT_PARTITION_SIZE := 524288
        IMAGES = eva.bin sysupgrade.bin
        IMAGE/eva.bin := append-uboot | pad-to $$$$(UBOOT_PARTITION_SIZE) | append-kernel | append-rootfs | pad-rootfs
        IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
-       DEVICE_PACKAGES := fritz-tffs fritz-caldata u-boot-fritz4040
+       DEVICE_PACKAGES := fritz-tffs fritz-caldata
 endef
 TARGET_DEVICES += avm_fritzbox-4040
 
@@ -131,6 +137,41 @@ define Device/glinet_gl-b1300
 endef
 TARGET_DEVICES += glinet_gl-b1300
 
+define Device/linksys_ea6350v3
+       # The Linksys EA6350v3 has a uboot bootloader that does not
+       # support either booting lzma kernel images nor booting UBI
+       # partitions. This uboot, however, supports raw kernel images and
+       # gzipped images.
+       #
+       # As for the time of writing this, the device will boot the kernel
+       # from a fixed address with a fixed length of 3MiB. Also, the
+       # device has a hard-coded kernel command line that requieres the
+       # rootfs and alt_rootfs to be in mtd11 and mtd13 respectively.
+       # Oh... and the kernel partition overlaps with the rootfs
+       # partition (the same for alt_kernel and alt_rootfs).
+       #
+       # If you are planing re-partitioning the device, you may want to
+       # keep those details in mind:
+       # 1. The kernel adresses you should honor are 0x00000000 and
+       #    0x02800000 respectively.
+       # 2. The kernel size (plus the dtb) cannot exceed 3.00MiB in size.
+       # 3. You can use 'zImage', but not a raw 'Image' packed with lzma.
+       # 4. The kernel command line from uboot is harcoded to boot with
+       #    rootfs either in mtd11 or mtd13.
+       $(call Device/FitzImage)
+       DEVICE_TITLE := Linksys EA6350v3
+       DEVICE_DTS := qcom-ipq4018-ea6350v3
+       BLOCKSIZE := 128k
+       PAGESIZE := 2048
+       KERNEL_SIZE := 3145728
+       IMAGE_SIZE := 38797312
+       UBINIZE_OPTS := -E 5
+       IMAGES := factory.bin sysupgrade.bin
+       IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$${KERNEL_SIZE} | append-ubi | linksys-image type=EA6350v3
+       DEVICE_PACKAGES := ipq-wifi-linksys_ea6350v3 uboot-envtools
+endef
+TARGET_DEVICES += linksys_ea6350v3
+
 define Device/meraki_mr33
        $(call Device/FitImage)
        DEVICE_DTS := qcom-ipq4029-mr33
@@ -236,7 +277,7 @@ define Device/zyxel_nbg6617
 #      this minimum-size. However, the larger image can be flashed both ways.
        IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to 64k | check-size $$$$(ROOTFS_SIZE) | zyxel-ras-image separate-kernel
        IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | check-size $$$$(ROOTFS_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
-       DEVICE_PACKAGES := uboot-envtools
+       DEVICE_PACKAGES := uboot-envtools kmod-usb-ledtrig-usbport
 endef
 TARGET_DEVICES += zyxel_nbg6617