2
0
forked from Ivasoft/openwrt

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>
This commit is contained in:
Mathew McBride
2018-04-30 22:42:39 +10:00
committed by John Crispin
parent 481f870a02
commit 08714738d2
11 changed files with 925 additions and 8 deletions

View File

@@ -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))