Merge tag 'xilinx-for-v2022.07-rc4' of https://source.denx.de/u-boot/custodians/u...
[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 #ifndef XILINX_DCACHE_BYTE_SIZE
34 #define XILINX_DCACHE_BYTE_SIZE 32768
35 #endif
36
37 /* size of console buffer */
38 #define CONFIG_SYS_CBSIZE       512
39 /* max number of command args */
40 #define CONFIG_SYS_MAXARGS      15
41
42 #define CONFIG_HOSTNAME         "microblaze-generic"
43
44 /* architecture dependent code */
45 #if defined(CONFIG_CMD_PXE) && defined(CONFIG_CMD_DHCP)
46 #define BOOT_TARGET_DEVICES_PXE(func)   func(PXE, pxe, na)
47 #else
48 #define BOOT_TARGET_DEVICES_PXE(func)
49 #endif
50
51 #if defined(CONFIG_CMD_DHCP)
52 #define BOOT_TARGET_DEVICES_DHCP(func)  func(DHCP, dhcp, na)
53 #else
54 #define BOOT_TARGET_DEVICES_DHCP(func)
55 #endif
56
57 #if defined(CONFIG_SPI_FLASH)
58 # define BOOT_TARGET_DEVICES_QSPI(func) func(QSPI, qspi, na)
59 #else
60 # define BOOT_TARGET_DEVICES_QSPI(func)
61 #endif
62
63 #if defined(CONFIG_MTD_NOR_FLASH)
64 # define BOOT_TARGET_DEVICES_NOR(func)  func(NOR, nor, na)
65 #else
66 # define BOOT_TARGET_DEVICES_NOR(func)
67 #endif
68
69 #define BOOTENV_DEV_NOR(devtypeu, devtypel, instance) \
70         "bootcmd_nor=cp.b ${script_offset_nor} ${scriptaddr} ${script_size_f} && " \
71                 "echo NOR: Trying to boot script at ${scriptaddr} && " \
72                 "source ${scriptaddr}; echo NOR: SCRIPT FAILED: continuing...;\0"
73
74 #define BOOTENV_DEV_NAME_NOR(devtypeu, devtypel, instance) \
75         "nor "
76
77 #define BOOTENV_DEV_QSPI(devtypeu, devtypel, instance) \
78         "bootcmd_qspi=sf probe 0 0 0 && " \
79         "sf read ${scriptaddr} ${script_offset_f} ${script_size_f} && " \
80         "echo QSPI: Trying to boot script at ${scriptaddr} && " \
81         "source ${scriptaddr}; echo QSPI: SCRIPT FAILED: continuing...;\0"
82
83 #define BOOTENV_DEV_NAME_QSPI(devtypeu, devtypel, instance) \
84         "qspi "
85
86 #define BOOT_TARGET_DEVICES_JTAG(func)  func(JTAG, jtag, na)
87
88 #define BOOTENV_DEV_JTAG(devtypeu, devtypel, instance) \
89         "bootcmd_jtag=echo JTAG: Trying to boot script at ${scriptaddr} && " \
90                 "source ${scriptaddr}; echo JTAG: SCRIPT FAILED: continuing...;\0"
91
92 #define BOOTENV_DEV_NAME_JTAG(devtypeu, devtypel, instance) \
93         "jtag "
94
95 #define BOOT_TARGET_DEVICES(func) \
96         BOOT_TARGET_DEVICES_JTAG(func) \
97         BOOT_TARGET_DEVICES_QSPI(func) \
98         BOOT_TARGET_DEVICES_NOR(func) \
99         BOOT_TARGET_DEVICES_DHCP(func) \
100         BOOT_TARGET_DEVICES_PXE(func)
101
102 #include <config_distro_bootcmd.h>
103
104 #ifndef CONFIG_EXTRA_ENV_SETTINGS
105 #define CONFIG_EXTRA_ENV_SETTINGS \
106         "unlock=yes\0"\
107         "nor0=flash-0\0"\
108         "mtdparts=mtdparts=flash-0:"\
109         "256k(u-boot),256k(env),3m(kernel),"\
110         "1m(romfs),1m(cramfs),-(jffs2)\0"\
111         "nc=setenv stdout nc;"\
112         "setenv stdin nc\0" \
113         "serial=setenv stdout serial;"\
114         "setenv stdin serial\0"\
115         "script_size_f=0x40000\0"\
116         BOOTENV
117 #endif
118
119 /* SPL part */
120
121 #define CONFIG_SYS_UBOOT_BASE           CONFIG_SYS_TEXT_BASE
122
123 /* for booting directly linux */
124 #define CONFIG_SYS_FDT_BASE             (CONFIG_SYS_TEXT_BASE + \
125                                         0x40000)
126
127 #define CONFIG_SYS_SPL_ARGS_ADDR        (CONFIG_SYS_TEXT_BASE + \
128                                          0x1000000)
129
130 /* SP location before relocation, must use scratch RAM */
131 /* BRAM start */
132 #define CONFIG_SYS_INIT_RAM_ADDR        0x0
133 /* BRAM size - will be generated */
134 #define CONFIG_SYS_INIT_RAM_SIZE        0x100000
135
136 # define CONFIG_SPL_STACK_ADDR          (CONFIG_SYS_INIT_RAM_ADDR + \
137                                          CONFIG_SYS_INIT_RAM_SIZE)
138
139 /* Just for sure that there is a space for stack */
140 #define CONFIG_SPL_STACK_SIZE           0x100
141
142 #define CONFIG_SPL_MAX_FOOTPRINT        (CONFIG_SYS_INIT_RAM_SIZE - \
143                                          CONFIG_SYS_INIT_RAM_ADDR - \
144                                          CONFIG_SYS_MALLOC_F_LEN - \
145                                          CONFIG_SPL_STACK_SIZE)
146
147 #endif  /* __CONFIG_H */