Merge tag 'v2022.04-rc4' into next
[platform/kernel/u-boot.git] / include / configs / microblaze-generic.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * (C) Copyright 2007-2010 Michal Simek
4  *
5  * Michal SIMEK <monstr@monstr.eu>
6  */
7
8 #ifndef __CONFIG_H
9 #define __CONFIG_H
10
11 /* Microblaze is microblaze_0 */
12 #define XILINX_FSL_NUMBER       3
13
14 #define CONFIG_SYS_BOOTM_LEN    (64 * 1024 * 1024)
15
16 /* uart */
17 /* The following table includes the supported baudrates */
18 # define CONFIG_SYS_BAUDRATE_TABLE \
19         {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
20
21 /* Stack location before relocation */
22 #define CONFIG_SYS_INIT_SP_OFFSET       (CONFIG_SYS_TEXT_BASE - \
23                                          CONFIG_SYS_MALLOC_F_LEN)
24
25 #ifdef CONFIG_CFI_FLASH
26 /* ?empty sector */
27 # define CONFIG_SYS_FLASH_EMPTY_INFO    1
28 /* max number of memory banks */
29 /* max number of sectors on one chip */
30 # define CONFIG_SYS_MAX_FLASH_SECT      2048
31 #endif
32
33 #define CONFIG_ICACHE
34 #define CONFIG_DCACHE
35
36 #ifndef XILINX_DCACHE_BYTE_SIZE
37 #define XILINX_DCACHE_BYTE_SIZE 32768
38 #endif
39
40 /* size of console buffer */
41 #define CONFIG_SYS_CBSIZE       512
42 /* max number of command args */
43 #define CONFIG_SYS_MAXARGS      15
44
45 #define CONFIG_HOSTNAME         "microblaze-generic"
46
47 /* architecture dependent code */
48 #if defined(CONFIG_CMD_PXE) && defined(CONFIG_CMD_DHCP)
49 #define BOOT_TARGET_DEVICES_PXE(func)   func(PXE, pxe, na)
50 #else
51 #define BOOT_TARGET_DEVICES_PXE(func)
52 #endif
53
54 #if defined(CONFIG_CMD_DHCP)
55 #define BOOT_TARGET_DEVICES_DHCP(func)  func(DHCP, dhcp, na)
56 #else
57 #define BOOT_TARGET_DEVICES_DHCP(func)
58 #endif
59
60 #if defined(CONFIG_SPI_FLASH)
61 # define BOOT_TARGET_DEVICES_QSPI(func) func(QSPI, qspi, na)
62 #else
63 # define BOOT_TARGET_DEVICES_QSPI(func)
64 #endif
65
66 #if defined(CONFIG_MTD_NOR_FLASH)
67 # define BOOT_TARGET_DEVICES_NOR(func)  func(NOR, nor, na)
68 #else
69 # define BOOT_TARGET_DEVICES_NOR(func)
70 #endif
71
72 #define BOOTENV_DEV_NOR(devtypeu, devtypel, instance) \
73         "bootcmd_nor=cp.b ${script_offset_nor} ${scriptaddr} ${script_size_f} && " \
74                 "echo NOR: Trying to boot script at ${scriptaddr} && " \
75                 "source ${scriptaddr}; echo NOR: SCRIPT FAILED: continuing...;\0"
76
77 #define BOOTENV_DEV_NAME_NOR(devtypeu, devtypel, instance) \
78         "nor "
79
80 #define BOOTENV_DEV_QSPI(devtypeu, devtypel, instance) \
81         "bootcmd_qspi=sf probe 0 0 0 && " \
82         "sf read ${scriptaddr} ${script_offset_f} ${script_size_f} && " \
83         "echo QSPI: Trying to boot script at ${scriptaddr} && " \
84         "source ${scriptaddr}; echo QSPI: SCRIPT FAILED: continuing...;\0"
85
86 #define BOOTENV_DEV_NAME_QSPI(devtypeu, devtypel, instance) \
87         "qspi "
88
89 #define BOOT_TARGET_DEVICES_JTAG(func)  func(JTAG, jtag, na)
90
91 #define BOOTENV_DEV_JTAG(devtypeu, devtypel, instance) \
92         "bootcmd_jtag=echo JTAG: Trying to boot script at ${scriptaddr} && " \
93                 "source ${scriptaddr}; echo JTAG: SCRIPT FAILED: continuing...;\0"
94
95 #define BOOTENV_DEV_NAME_JTAG(devtypeu, devtypel, instance) \
96         "jtag "
97
98 #define BOOT_TARGET_DEVICES(func) \
99         BOOT_TARGET_DEVICES_JTAG(func) \
100         BOOT_TARGET_DEVICES_QSPI(func) \
101         BOOT_TARGET_DEVICES_NOR(func) \
102         BOOT_TARGET_DEVICES_DHCP(func) \
103         BOOT_TARGET_DEVICES_PXE(func)
104
105 #include <config_distro_bootcmd.h>
106
107 #ifndef CONFIG_EXTRA_ENV_SETTINGS
108 #define CONFIG_EXTRA_ENV_SETTINGS \
109         "unlock=yes\0"\
110         "nor0=flash-0\0"\
111         "mtdparts=mtdparts=flash-0:"\
112         "256k(u-boot),256k(env),3m(kernel),"\
113         "1m(romfs),1m(cramfs),-(jffs2)\0"\
114         "nc=setenv stdout nc;"\
115         "setenv stdin nc\0" \
116         "serial=setenv stdout serial;"\
117         "setenv stdin serial\0"\
118         "script_size_f=0x40000\0"\
119         BOOTENV
120 #endif
121
122 #if defined(CONFIG_XILINX_AXIEMAC)
123 # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN        1
124 #endif
125
126 /* SPL part */
127
128 #define CONFIG_SYS_UBOOT_BASE           CONFIG_SYS_TEXT_BASE
129
130 /* for booting directly linux */
131 #define CONFIG_SYS_FDT_BASE             (CONFIG_SYS_TEXT_BASE + \
132                                         0x40000)
133
134 #define CONFIG_SYS_SPL_ARGS_ADDR        (CONFIG_SYS_TEXT_BASE + \
135                                          0x1000000)
136
137 /* SP location before relocation, must use scratch RAM */
138 /* BRAM start */
139 #define CONFIG_SYS_INIT_RAM_ADDR        0x0
140 /* BRAM size - will be generated */
141 #define CONFIG_SYS_INIT_RAM_SIZE        0x100000
142
143 # define CONFIG_SPL_STACK_ADDR          (CONFIG_SYS_INIT_RAM_ADDR + \
144                                          CONFIG_SYS_INIT_RAM_SIZE)
145
146 /* Just for sure that there is a space for stack */
147 #define CONFIG_SPL_STACK_SIZE           0x100
148
149 #define CONFIG_SPL_MAX_FOOTPRINT        (CONFIG_SYS_INIT_RAM_SIZE - \
150                                          CONFIG_SYS_INIT_RAM_ADDR - \
151                                          CONFIG_SYS_MALLOC_F_LEN - \
152                                          CONFIG_SPL_STACK_SIZE)
153
154 #endif  /* __CONFIG_H */