summaryrefslogtreecommitdiff
path: root/include/configs
diff options
context:
space:
mode:
authorMathew McBride <matt@traverse.com.au>2022-01-31 16:04:43 +0300
committerPriyanka Jain <priyanka.jain@nxp.com>2022-02-01 12:34:24 +0300
commita1d2fd3874f1506776819e723c4925ebcbf524b7 (patch)
tree717595bd740a329c7f9bd3c0ed82efa3882db802 /include/configs
parentdc30009cd39e587edd128f3786cfe5da61aa17e0 (diff)
downloadu-boot-a1d2fd3874f1506776819e723c4925ebcbf524b7.tar.xz
board: traverse: add initial Ten64 support
The Ten64 is a networking-oriented MiniITX board using the NXP LS1088A SoC. This patch provides the bare minimum to support Ten64 boards under U-Boot for distroboot. Some related drivers have not yet been submitted and this basic support lacks some of the opinionated defaults provided by our firmware distribution. Signed-off-by: Mathew McBride <matt@traverse.com.au> [Rebased] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
Diffstat (limited to 'include/configs')
-rw-r--r--include/configs/ten64.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/include/configs/ten64.h b/include/configs/ten64.h
new file mode 100644
index 0000000000..54e65f29f1
--- /dev/null
+++ b/include/configs/ten64.h
@@ -0,0 +1,55 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright 2017 NXP
+ * Copyright 2019-2021 Traverse Technologies
+ */
+
+#ifndef __TEN64_H
+#define __TEN64_H
+
+#include "ls1088a_common.h"
+
+#define CONFIG_SYS_CLK_FREQ 100000000
+#define COUNTER_FREQUENCY 25000000 /* 25MHz */
+
+#define CONFIG_DIMM_SLOTS_PER_CTLR 1
+
+#define CONFIG_SYS_LS_MC_BOOT_TIMEOUT_MS 5000
+
+#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd"
+#define SD_BOOTCOMMAND "run distro_bootcmd"
+
+#define QSPI_MC_INIT_CMD \
+ "sf probe 0:0 && sf read 0x80000000 0x300000 0x200000 &&" \
+ "sf read 0x80200000 0x5C0000 0x40000 &&" \
+ "fsl_mc start mc 0x80000000 0x80200000 && " \
+ "sf read 0x80300000 0x580000 0x40000 && fsl_mc lazyapply DPL 0x80300000\0"
+#define SD_MC_INIT_CMD \
+ "mmcinfo; fatload mmc 0 0x80000000 mcfirmware/mc_ls1088a.itb; "\
+ "fatload mmc 0 0x80200000 dpaa2config/dpc.0x1D-0x0D.dtb; "\
+ "fsl_mc start mc 0x80000000 0x80200000\0"
+
+#define BOOT_TARGET_DEVICES(func) \
+ func(NVME, nvme, 0) \
+ func(USB, usb, 0) \
+ func(MMC, mmc, 0) \
+ func(SCSI, scsi, 0) \
+ func(DHCP, dhcp, 0) \
+ func(PXE, pxe, 0)
+#include <config_distro_bootcmd.h>
+
+#undef CONFIG_EXTRA_ENV_SETTINGS
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "BOARD=ten64\0" \
+ "fdt_addr_r=0x90000000\0" \
+ "fdt_high=0xa0000000\0" \
+ "kernel_addr_r=0x81000000\0" \
+ "load_addr=0xa0000000\0" \
+ BOOTENV \
+ "load_efi_dtb=mtd read devicetree $fdt_addr_r && fdt addr $fdt_addr_r && " \
+ "fdt resize && fdt boardsetup\0" \
+ "bootcmd_recovery=mtd read recovery 0xa0000000; mtd read dpl 0x80100000 && " \
+ "fsl_mc apply DPL 0x80100000 && bootm 0xa0000000#ten64\0"
+
+#endif /* __TEN64_H */