layerscape: create shared definitions for sdboot devices
[openwrt/openwrt.git] / target / linux / layerscape / image / armv7.mk
index 59cc982017f7974566f52bb8fa8cb7442b37f9c7..33bf145332b71c417373c2840a15d32533a2803b 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright 2018 NXP
+# Copyright 2018-2020 NXP
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,17 +8,33 @@
 define Device/Default
   PROFILES := Default
   FILESYSTEMS := squashfs
-  IMAGES := firmware.bin
+  IMAGES := firmware.bin sysupgrade.bin
   KERNEL := kernel-bin | uImage none
   KERNEL_NAME := zImage
   KERNEL_LOADADDR := 0x80008000
   KERNEL_ENTRY_POINT := 0x80008000
+  DEVICE_DTS = $(lastword $(subst _, ,$(1)))
+  SUPPORTED_DEVICES = $(subst _,$(comma),$(1))
+  IMAGE_SIZE := 64m
+  IMAGE/sysupgrade.bin = ls-append-dtb $$(DEVICE_DTS) | pad-to 1M | \
+    append-kernel | pad-to 17M | \
+    append-rootfs | pad-rootfs | \
+    check-size $(LS_SYSUPGRADE_IMAGE_SIZE) | append-metadata
 endef
 
-define Device/ls1021atwr
-  DEVICE_TITLE := LS1021ATWR
-  DEVICE_PACKAGES += layerscape-rcw-ls1021atwr
-  DEVICE_DTS := ls1021a-twr
+define Device/fsl-sdboot
+  $(Device/rework-sdcard-images)
+  KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
+  IMAGES := sdcard.img.gz sysupgrade.bin
+  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+endef
+
+define Device/fsl_ls1021a-twr
+  $(Device/fix-sysupgrade)
+  DEVICE_VENDOR := NXP
+  DEVICE_MODEL := TWR-LS1021A
+  DEVICE_VARIANT := Default
+  DEVICE_PACKAGES += layerscape-rcw
   IMAGE/firmware.bin := \
     ls-clean | \
     ls-append $(1)-rcw.bin | pad-to 1M | \
@@ -26,6 +42,39 @@ define Device/ls1021atwr
     ls-append $(1)-uboot-env.bin | pad-to 15M | \
     ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
     append-kernel | pad-to 32M | \
-    append-rootfs | pad-rootfs | check-size 67108865
+    append-rootfs | pad-rootfs | check-size
+endef
+TARGET_DEVICES += fsl_ls1021a-twr
+
+define Device/fsl_ls1021a-twr-sdboot
+  $(Device/fsl-sdboot)
+  DEVICE_VENDOR := NXP
+  DEVICE_MODEL := TWR-LS1021A
+  DEVICE_VARIANT := SD Card Boot
+  DEVICE_DTS := ls1021a-twr
+  IMAGE/sdcard.img.gz := \
+    ls-clean | \
+    ls-append-sdhead $(1) | pad-to 4K | \
+    ls-append $(1)-uboot.bin | pad-to 3M | \
+    ls-append $(1)-uboot-env.bin | pad-to 16M | \
+    ls-append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
+    append-rootfs | pad-to $(LS_SD_IMAGE_SIZE)M | gzip
+endef
+TARGET_DEVICES += fsl_ls1021a-twr-sdboot
+
+define Device/fsl_ls1021a-iot-sdboot
+  $(Device/fsl-sdboot)
+  DEVICE_VENDOR := NXP
+  DEVICE_MODEL := LS1021A-IoT
+  DEVICE_VARIANT := SD Card Boot
+  DEVICE_DTS := ls1021a-iot
+  SUPPORTED_DEVICES :=
+  IMAGE/sdcard.img.gz := \
+    ls-clean | \
+    ls-append-sdhead $(1) | pad-to 4K | \
+    ls-append $(1)-uboot.bin | pad-to 1M | \
+    ls-append $(1)-uboot-env.bin | pad-to 16M | \
+    ls-append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
+    append-rootfs | pad-to $(LS_SD_IMAGE_SIZE)M | gzip
 endef
-TARGET_DEVICES += ls1021atwr
+TARGET_DEVICES += fsl_ls1021a-iot-sdboot