aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/image
diff options
context:
space:
mode:
authorMathew McBride <matt@traverse.com.au>2018-04-30 22:42:39 +1000
committerJohn Crispin <john@phrozen.org>2018-07-30 10:53:57 +0200
commit08714738d2c8d7710f8fd2b7deac795f49e7d7c2 (patch)
treeda058038a138d0ab98d7928d9806f4f77ddbef65 /target/linux/layerscape/image
parent481f870a02a29974eca943f3b926434d5e517679 (diff)
downloadupstream-08714738d2c8d7710f8fd2b7deac795f49e7d7c2.tar.gz
upstream-08714738d2c8d7710f8fd2b7deac795f49e7d7c2.tar.bz2
upstream-08714738d2c8d7710f8fd2b7deac795f49e7d7c2.zip
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 <matt@traverse.com.au>
Diffstat (limited to 'target/linux/layerscape/image')
-rw-r--r--target/linux/layerscape/image/Makefile37
1 files changed, 37 insertions, 0 deletions
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))