From 08714738d2c8d7710f8fd2b7deac795f49e7d7c2 Mon Sep 17 00:00:00 2001 From: Mathew McBride Date: Mon, 30 Apr 2018 22:42:39 +1000 Subject: layerscape: add Traverse LS1043-S support The Traverse LS1043-S board is a router board based on NXP/Freescale's LS1043 SoC, with 4x1GBase-T, 1 SFP and 1 SFP+, as well as miniPCIe and M.2 LTE. Unlike the Layerscape reference boards, the LS1043-S board has NAND flash and uses the mainline U-Boot. This patch implements support for the LS1043-S board, as well as the earlier LS1043-V board. It is our intention that all boards in this family (LS1043-S and later, Five64) will boot the same binary. Not included in this patchset are the hwmon drivers not in the kernel (emc1704,pac1934) or the bootloader. Signed-off-by: Mathew McBride --- target/linux/layerscape/image/Makefile | 37 ++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'target/linux/layerscape/image') diff --git a/target/linux/layerscape/image/Makefile b/target/linux/layerscape/image/Makefile index fc76ddd2ef..8e1e847f59 100644 --- a/target/linux/layerscape/image/Makefile +++ b/target/linux/layerscape/image/Makefile @@ -7,6 +7,8 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk +ITB_BOARDS = traverse-five64 + define Build/append-ls-rcw rm -f $@ dd if=$(STAGING_DIR_IMAGE)/$(1)-rcw.bin >> $@ @@ -45,6 +47,16 @@ define Build/append-ls-dtb dd if=$(DTS_DIR)/$(1).dtb >> $@ endef +define Build/traverse-fit + ./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 $(DEVICE_DTS_DIR)/freescale/traverse-ls1043s.dtb -D "Traverse_LS1043S" -n "ls1043s" -a $(FDT_LOADADDR) -c 1 \ + -d $(DEVICE_DTS_DIR)/freescale/traverse-ls1043v.dtb -D "Traverse_LS1043V" -n "ls1043v" -a $(FDT_LOADADDR) -c 2 + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new + @mv -f $@.new $@ +endef + define Device/Default PROFILES = Default FILESYSTEMS := squashfs @@ -62,6 +74,7 @@ ifeq ($(SUBTARGET),armv8_32b) KERNEL_LOADADDR = 0x80008000 KERNEL_ENTRY_POINT = 0x80008000 endif + FDT_LOADADDR = 0x90000000 endef define Device/ls1043ardb @@ -182,4 +195,28 @@ endef TARGET_DEVICES += ls2088ardb endif +define Device/traverse-five64 + KERNEL_NAME := Image + KERNEL_SUFFIX := -kernel.itb + KERNEL_INSTALL := 1 + FILESYSTEMS := ubifs + DEVICE_TITLE := Traverse LS1043 Boards (Five64, LS1043S) + DEVICE_PACKAGES += fman-layerscape-ls1043ardb kmod-i2c-core kmod-rtc-isl1208 uboot-envtools \ + uboot-traverse-ls1043v uboot-traverse-ls1043v-sdcard \ + kmod-hwmon-core kmod-hwmon-ltc2990 kmod-gpio-pca953x kmod-input-gpio-keys-polled \ + kmod-i2c-mux-pca954x kmod-hwmon-pac1934 kmod-hwmon-emc17xx + DEVICE_DESCRIPTION = Build images for Traverse LS1043 boards. This generates a single image \ + capable of booting on any of the boards in this family. + DEVICE_DTS = freescale/traverse-ls1043s + DEVICE_DTS_DIR = $(LINUX_DIR)/arch/arm64/boot/dts + DEVICE_DTS_CONFIG = ls1043s + KERNEL := kernel-bin | gzip | traverse-fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb $$(FDT_LOADADDR) + KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb $$(FDT_LOADADDR) + IMAGES = root sysupgrade.tar + IMAGE/root = append-rootfs + IMAGE/sysupgrade.tar = sysupgrade-tar + UBIFS_OPTS := -m 2048 -e 124KiB -c 4096 +endef +TARGET_DEVICES += traverse-five64 + $(eval $(call BuildImage)) -- cgit v1.2.3