Prepare v2023.10
[platform/kernel/u-boot.git] / include / configs / ten64.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright 2017 NXP
4  * Copyright 2019-2021 Traverse Technologies
5  */
6
7 #ifndef __TEN64_H
8 #define __TEN64_H
9
10 #include "ls1088a_common.h"
11
12
13 #define CFG_SYS_LS_MC_BOOT_TIMEOUT_MS 5000
14
15 #define QSPI_NOR_BOOTCOMMAND    "run distro_bootcmd"
16 #define SD_BOOTCOMMAND          "run distro_bootcmd"
17
18 #define SD_FIRMWARE_PATH "firmware/traverse/ten64/"
19
20 #define QSPI_MC_INIT_CMD                                \
21         "sf probe 0:0 && sf read 0x80000000 0x300000 0x200000 &&"       \
22         "sf read 0x80200000 0x5C0000 0x40000 &&"                                \
23         "fsl_mc start mc 0x80000000 0x80200000 && " \
24         "sf read 0x8E000000 0x580000 0x40000 && fsl_mc lazyapply DPL 0x8E000000 && "\
25         "echo 'default DPL loaded'\0"
26 #define SD_MC_INIT_CMD                          \
27         "mmcinfo; fatload mmc 0 0x80000000 " SD_FIRMWARE_PATH "mc_ls1088a.itb; "\
28         "fatload mmc 0 0x80200000 " SD_FIRMWARE_PATH "dpc.0x1D-0x0D.dtb; "\
29         "fsl_mc start mc 0x80000000 0x80200000 && "     \
30         "fatload mmc 0 0x8E000000 " SD_FIRMWARE_PATH "eth-dpl-all.dtb && " \
31         "fsl_mc lazyapply DPL 0x8E000000 && echo 'default DPL loaded'\0"
32
33 #define BOOT_TARGET_DEVICES(func) \
34         func(NVME, nvme, 0) \
35         func(USB, usb, 0) \
36         func(MMC, mmc, 0) \
37         func(SCSI, scsi, 0) \
38         func(DHCP, dhcp, 0) \
39         func(PXE, pxe, 0)
40 #include <config_distro_bootcmd.h>
41
42 #define OPENWRT_NAND_BOOTCMD    \
43         "bootcmd_openwrt_nand=ubi part ubi${openwrt_active_sys} && "\
44         "ubi read $load_addr kernel && " \
45         "setenv bootargs \"root=/dev/ubiblock0_1 earlycon ubi.mtd=ubi${openwrt_active_sys}\" &&"\
46         "bootm $load_addr#ten64\0"
47 #undef CFG_EXTRA_ENV_SETTINGS
48
49 #if CONFIG_IS_ENABLED(CMD_BOOTMENU)
50 #define DEFAULT_MENU_ENTRIES \
51         "bootmenu_0=Continue standard boot=run bootcmd\0" \
52         "bootmenu_1=Boot into recovery=run bootcmd_recovery\0" \
53         "bootmenu_2=Boot OpenWrt from NAND=run bootcmd_openwrt_nand\0"
54 #else
55 #define DEFAULT_MENU_ENTRIES ""
56 #endif /* CONFIG_IS_ENABLED(CMD_BOOTMENU) */
57
58 #define CFG_EXTRA_ENV_SETTINGS \
59         "BOARD=ten64\0"                                 \
60         "fdt_addr_r=0x90000000\0"               \
61         "fdt_high=0xa0000000\0"                 \
62         "kernel_addr_r=0x81000000\0"            \
63         "load_addr=0xa0000000\0"                \
64         BOOTENV \
65         OPENWRT_NAND_BOOTCMD \
66         "openwrt_active_sys=a\0" \
67         "load_efi_dtb=mtd read devicetree $fdt_addr_r && fdt addr $fdt_addr_r && " \
68         "fdt resize && fdt boardsetup\0" \
69         "bootcmd_recovery=mtd read recovery 0xa0000000;  " \
70         "setenv bootargs \"earlycon root=/dev/ram0 ramdisk_size=0x3000000\" && bootm 0xa0000000#ten64\0" \
71         DEFAULT_MENU_ENTRIES
72
73 #endif /* __TEN64_H */