layerscape: armv8_64b: add Traverse Ten64 NAND variant
The Ten64 board[1] is based around NXP's Layerscape LS1088A SoC. It is capable of booting both standard Linux distributions from disk devices, using EFI, and booting OpenWrt from NAND. See the online manual for more information, including the flash layout[2]. This patchset adds support for generating Ten64 images for NAND boot. For disk boot, one can use the EFI support that was recently added to the armvirt target. We previously supported NAND users by building inside our armvirt/EFI target[3], but this approach is not suitable for OpenWrt upstream. Users who used our supplied NAND images will be able to upgrade to this via sysupgrade. Signed-off-by: Mathew McBride <matt@traverse.com.au> [1] - https://www.traverse.com.au/hardware/ten64 [2] - https://ten64doc.traverse.com.au/hardware/flash/ [3] - Example:285e4360e1(cherry picked from commitaf0546da34)
This commit is contained in:
committed by
Hauke Mehrtens
parent
e54e5bc415
commit
68a4c60b5c
@@ -64,6 +64,19 @@ define Build/traverse-fit
|
||||
@mv -f $@.new $@
|
||||
endef
|
||||
|
||||
define Build/traverse-fit-ls1088
|
||||
./mkits-multiple-config.sh -o $@.its -A $(LINUX_KARCH) \
|
||||
-v $(LINUX_VERSION) -k $@ -a $(KERNEL_LOADADDR) \
|
||||
-e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
|
||||
-C gzip -c 1 -c 2 \
|
||||
-d $(DTS_DIR)/freescale/fsl-ls1088a-ten64.dtb \
|
||||
-D "TEN64" -n "ten64" -a $(FDT_LOADADDR) -c 1 \
|
||||
-d $(DTS_DIR)/freescale/fsl-ls1088a-rdb.dtb \
|
||||
-D "LS1088ARDB" -n "ls1088ardb" -a $(FDT_LOADADDR) -c 2
|
||||
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new
|
||||
@mv -f $@.new $@
|
||||
endef
|
||||
|
||||
define Device/fix-sysupgrade
|
||||
DEVICE_COMPAT_VERSION := 2.0
|
||||
DEVICE_COMPAT_MESSAGE := DTB was added to sysupgrade. Image format is different. \
|
||||
|
||||
@@ -451,3 +451,35 @@ define Device/traverse_ls1043
|
||||
SUPPORTED_DEVICES := traverse,ls1043s traverse,ls1043v
|
||||
endef
|
||||
TARGET_DEVICES += traverse_ls1043
|
||||
|
||||
define Device/traverse_ten64_mtd
|
||||
DEVICE_VENDOR := Traverse
|
||||
DEVICE_MODEL := Ten64 (NAND boot)
|
||||
DEVICE_NAME := ten64-mtd
|
||||
DEVICE_PACKAGES += \
|
||||
uboot-envtools \
|
||||
kmod-rtc-rx8025 \
|
||||
kmod-sfp \
|
||||
kmod-i2c-mux-pca954x \
|
||||
restool
|
||||
DEVICE_DESCRIPTION = \
|
||||
Generate images for booting from NAND/ubifs on Traverse Ten64 (LS1088A) \
|
||||
family boards. For disk (NVMe/USB/SD) boot, use the armvirt target instead.
|
||||
FILESYSTEMS := squashfs
|
||||
KERNEL_LOADADDR := 0x80000000
|
||||
KERNEL_ENTRY_POINT := 0x80000000
|
||||
FDT_LOADADDR := 0x90000000
|
||||
KERNEL_SUFFIX := -kernel.itb
|
||||
DEVICE_DTS := freescale/fsl-ls1088a-ten64
|
||||
IMAGES := nand.ubi sysupgrade.bin
|
||||
KERNEL := kernel-bin | gzip | traverse-fit-ls1088 gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb $$(FDT_LOADADDR)
|
||||
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
||||
IMAGE/nand.ubi := append-ubi
|
||||
KERNEL_IN_UBI := 1
|
||||
BLOCKSIZE := 128KiB
|
||||
PAGESIZE := 2048
|
||||
MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB -c 600
|
||||
SUPPORTED_DEVICES = traverse,ten64
|
||||
endef
|
||||
TARGET_DEVICES += traverse_ten64_mtd
|
||||
|
||||
|
||||
Reference in New Issue
Block a user