25cb8f6f84f574be756da229f84a1b6b762b505e
[platform/kernel/u-boot.git] / include / configs / kontron_sl28.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2
3 #ifndef __SL28_H
4 #define __SL28_H
5
6 #include <asm/arch/stream_id_lsch3.h>
7 #include <asm/arch/config.h>
8 #include <asm/arch/soc.h>
9
10 /* we don't use hwconfig but this has to be defined.. */
11 #define HWCONFIG_BUFFER_SIZE 256
12
13 /* we don't have secure memory unless we have a BL31 */
14 #ifndef CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT
15 #undef CONFIG_SYS_MEM_RESERVE_SECURE
16 #endif
17
18 /* DDR */
19 #define CONFIG_MEM_INIT_VALUE           0xdeadbeef
20
21 #define CONFIG_VERY_BIG_RAM
22 #define CONFIG_SYS_DDR_SDRAM_BASE       0x80000000
23 #define CONFIG_SYS_FSL_DDR_SDRAM_BASE_PHY       0
24 #define CONFIG_SYS_SDRAM_BASE           CONFIG_SYS_DDR_SDRAM_BASE
25 #define CONFIG_SYS_DDR_BLOCK2_BASE      0x2080000000ULL
26 #define CONFIG_SYS_FSL_DDR_MAIN_NUM_CTRLS       1
27
28 /* early stack pointer */
29 #define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SYS_FSL_OCRAM_BASE + 0xeff0)
30
31 /* SMP */
32 #define CPU_RELEASE_ADDR                secondary_boot_addr
33
34 /* generic timer */
35
36 /* early heap for SPL DM */
37 #define CONFIG_MALLOC_F_ADDR            CONFIG_SYS_FSL_OCRAM_BASE
38
39 /* serial port */
40 #define CONFIG_SYS_NS16550_CLK          (get_bus_freq(0) / 2)
41
42 #define COUNTER_FREQUENCY_REAL          (get_board_sys_clk() / 4)
43
44 /* SPL */
45 #define CONFIG_SPL_BSS_START_ADDR       0x80100000
46 #define CONFIG_SPL_BSS_MAX_SIZE         0x00100000
47 #define CONFIG_SPL_STACK                (CONFIG_SYS_FSL_OCRAM_BASE + 0x9ff0)
48
49 #define CONFIG_SYS_SPL_MALLOC_SIZE      0x00100000
50 #define CONFIG_SYS_SPL_MALLOC_START     0x80200000
51 #define CONFIG_SYS_MONITOR_LEN          (1024 * 1024)
52
53 /* GUID for capsule updatable firmware image */
54 #define KONTRON_SL28_FIT_IMAGE_GUID \
55         EFI_GUID(0x86ebd44f, 0xfeb8, 0x466f, 0x8b, 0xb8, \
56                  0x89, 0x06, 0x18, 0x45, 0x6d, 0x8b)
57
58 /* environment */
59 /* see include/configs/ti_armv7_common.h */
60 #define ENV_MEM_LAYOUT_SETTINGS \
61         "loadaddr=0x82000000\0" \
62         "kernel_addr_r=0x82000000\0" \
63         "fdt_addr_r=0x88000000\0" \
64         "bootm_size=0x10000000\0" \
65         "pxefile_addr_r=0x80100000\0" \
66         "scriptaddr=0x80000000\0" \
67         "ramdisk_addr_r=0x88080000\0"
68
69 #define BOOT_TARGET_DEVICES(func) \
70         func(MMC, mmc, 0) \
71         func(MMC, mmc, 1) \
72         func(NVME, nvme, 0) \
73         func(USB, usb, 0) \
74         func(SCSI, scsi, 0) \
75         func(DHCP, dhcp, 0) \
76         func(PXE, pxe, 0)
77 #include <config_distro_bootcmd.h>
78
79 #define CONFIG_EXTRA_ENV_SETTINGS \
80         "env_addr=0x203e0004\0" \
81         "envload=env import -d -b ${env_addr}\0" \
82         "install_rcw=source 20200000\0" \
83         "fdtfile=freescale/fsl-ls1028a-kontron-sl28.dtb\0" \
84         "dfu_alt_info=sf 0:0=u-boot-bin raw 0x210000 0x1d0000;" \
85                             "u-boot-env raw 0x3e0000 0x20000\0" \
86         ENV_MEM_LAYOUT_SETTINGS \
87         BOOTENV
88
89 #endif /* __SL28_H */