]> Git Repo - J-u-boot.git/blame - include/configs/socfpga_common.h
Convert CONFIG_SYS_MALLOC_LEN to Kconfig
[J-u-boot.git] / include / configs / socfpga_common.h
CommitLineData
83d290c5 1/* SPDX-License-Identifier: GPL-2.0+ */
5095ee08
PM
2/*
3 * Copyright (C) 2012 Altera Corporation <www.altera.com>
5095ee08 4 */
48275c96
DN
5#ifndef __CONFIG_SOCFPGA_COMMON_H__
6#define __CONFIG_SOCFPGA_COMMON_H__
5095ee08 7
1af3c7f4
SG
8#include <linux/stringify.h>
9
5095ee08
PM
10/*
11 * High level configuration
12 */
5095ee08
PM
13#define CONFIG_CLOCKS
14
5095ee08
PM
15#define CONFIG_TIMESTAMP /* Print image info with timestamp */
16
17/*
18 * Memory configurations
19 */
5095ee08 20#define PHYS_SDRAM_1 0x0
1b259403 21#if defined(CONFIG_TARGET_SOCFPGA_GEN5)
5095ee08 22#define CONFIG_SYS_INIT_RAM_ADDR 0xFFFF0000
4f17f296 23#define CONFIG_SYS_INIT_RAM_SIZE SOCFPGA_PHYS_OCRAM_SIZE
53b59290 24#define CONFIG_SPL_PAD_TO 0x10000
1b259403
LFT
25#elif defined(CONFIG_TARGET_SOCFPGA_ARRIA10)
26#define CONFIG_SYS_INIT_RAM_ADDR 0xFFE00000
53b59290 27#define CONFIG_SPL_PAD_TO 0x40000
4399e48d
SG
28/* SPL memory allocation configuration, this is for FAT implementation */
29#ifndef CONFIG_SYS_SPL_MALLOC_SIZE
30#define CONFIG_SYS_SPL_MALLOC_SIZE 0x10000
31#endif
4f17f296
LFT
32#define CONFIG_SYS_INIT_RAM_SIZE (SOCFPGA_PHYS_OCRAM_SIZE - \
33 CONFIG_SYS_SPL_MALLOC_SIZE)
4399e48d
SG
34#define CONFIG_SYS_SPL_MALLOC_START (CONFIG_SYS_INIT_RAM_ADDR + \
35 CONFIG_SYS_INIT_RAM_SIZE)
1b259403 36#endif
f457c52e
SR
37
38/*
39 * Some boards (e.g. socfpga_sr1500) use 8 bytes at the end of the internal
40 * SRAM as bootcounter storage. Make sure to not put the stack directly
41 * at this address to not overwrite the bootcounter by checking, if the
42 * bootcounter address is located in the internal SRAM.
43 */
44#if ((CONFIG_SYS_BOOTCOUNT_ADDR > CONFIG_SYS_INIT_RAM_ADDR) && \
45 (CONFIG_SYS_BOOTCOUNT_ADDR < (CONFIG_SYS_INIT_RAM_ADDR + \
46 CONFIG_SYS_INIT_RAM_SIZE)))
4399e48d 47#define CONFIG_SPL_STACK CONFIG_SYS_BOOTCOUNT_ADDR
f457c52e 48#else
4399e48d 49#define CONFIG_SPL_STACK \
768f23dc 50 (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE)
f457c52e 51#endif
5095ee08 52
4399e48d
SG
53/*
54 * U-Boot stack setup: if SPL post-reloc uses DDR stack, use it in pre-reloc
55 * phase of U-Boot, too. This prevents overwriting SPL data if stack/heap usage
56 * in U-Boot pre-reloc is higher than in SPL.
57 */
58#if defined(CONFIG_SPL_STACK_R_ADDR) && CONFIG_SPL_STACK_R_ADDR
59#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SPL_STACK_R_ADDR
60#else
61#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SPL_STACK
62#endif
63
5095ee08 64#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
5095ee08
PM
65
66/*
67 * U-Boot general configurations
68 */
5095ee08 69#define CONFIG_SYS_CBSIZE 1024 /* Console I/O buffer size */
5095ee08
PM
70 /* Print buffer size */
71#define CONFIG_SYS_MAXARGS 32 /* Max number of command args */
72#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
73 /* Boot argument buffer size */
5095ee08
PM
74
75/*
76 * Cache
77 */
5095ee08
PM
78#define CONFIG_SYS_L2_PL310
79#define CONFIG_SYS_PL310_BASE SOCFPGA_MPUL2_ADDRESS
80
81/*
82 * Ethernet on SoC (EMAC)
83 */
f7917328 84#ifdef CONFIG_CMD_NET
5095ee08 85#define CONFIG_DW_ALTDESCRIPTOR
5095ee08
PM
86#endif
87
88/*
89 * FPGA Driver
90 */
91#ifdef CONFIG_CMD_FPGA
5095ee08
PM
92#define CONFIG_FPGA_COUNT 1
93#endif
9af91b7c 94
5095ee08
PM
95/*
96 * L4 OSC1 Timer 0
97 */
331c3722 98#ifndef CONFIG_TIMER
5095ee08
PM
99#define CONFIG_SYS_TIMERBASE SOCFPGA_OSC1TIMER0_ADDRESS
100#define CONFIG_SYS_TIMER_COUNTS_DOWN
101#define CONFIG_SYS_TIMER_COUNTER (CONFIG_SYS_TIMERBASE + 0x4)
c808ab47 102#ifndef CONFIG_SYS_TIMER_RATE
5095ee08 103#define CONFIG_SYS_TIMER_RATE 25000000
331c3722 104#endif
c808ab47 105#endif
5095ee08
PM
106
107/*
108 * L4 Watchdog
109 */
5095ee08
PM
110#define CONFIG_DW_WDT_BASE SOCFPGA_L4WD0_ADDRESS
111#define CONFIG_DW_WDT_CLOCK_KHZ 25000
5095ee08
PM
112
113/*
114 * MMC Driver
115 */
116#ifdef CONFIG_CMD_MMC
5095ee08
PM
117/* FIXME */
118/* using smaller max blk cnt to avoid flooding the limited stack we have */
119#define CONFIG_SYS_MMC_MAX_BLK_COUNT 256 /* FIXME -- SPL only? */
120#endif
121
c339ea5b
MV
122/*
123 * NAND Support
124 */
125#ifdef CONFIG_NAND_DENALI
85f748ad 126#define CONFIG_SYS_NAND_BAD_BLOCK_POS 0
c339ea5b 127#define CONFIG_SYS_MAX_NAND_DEVICE 1
c339ea5b 128#define CONFIG_SYS_NAND_ONFI_DETECTION
c339ea5b
MV
129#define CONFIG_SYS_NAND_REGS_BASE SOCFPGA_NANDREGS_ADDRESS
130#define CONFIG_SYS_NAND_DATA_BASE SOCFPGA_NANDDATA_ADDRESS
c339ea5b
MV
131#endif
132
7fb0f596
SR
133/*
134 * QSPI support
135 */
7fb0f596
SR
136/* QSPI reference clock */
137#ifndef __ASSEMBLY__
138unsigned int cm_get_qspi_controller_clk_hz(void);
139#define CONFIG_CQSPI_REF_CLK cm_get_qspi_controller_clk_hz()
140#endif
7fb0f596 141
20cadbbe
MV
142/*
143 * USB
144 */
20cadbbe 145
0223a95c
MV
146/*
147 * USB Gadget (DFU, UMS)
148 */
149#if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE)
0223a95c
MV
150#define DFU_DEFAULT_POLL_TIMEOUT 300
151
152/* USB IDs */
e6c0bc06
SP
153#define CONFIG_G_DNL_UMS_VENDOR_NUM 0x0525
154#define CONFIG_G_DNL_UMS_PRODUCT_NUM 0xA4A5
0223a95c
MV
155#endif
156
5095ee08
PM
157/*
158 * U-Boot environment
159 */
5095ee08 160
79cc48e7 161/* Environment for SDMMC boot */
79cc48e7 162
ec8b7528 163/* Environment for QSPI boot */
ec8b7528 164
5095ee08
PM
165/*
166 * SPL
34584d19 167 *
421a21c5 168 * SRAM Memory layout for gen 5:
34584d19
MV
169 *
170 * 0xFFFF_0000 ...... Start of SRAM
171 * 0xFFFF_xxxx ...... Top of stack (grows down)
798baf7c
SG
172 * 0xFFFF_yyyy ...... Global Data
173 * 0xFFFF_zzzz ...... Malloc area
174 * 0xFFFF_FFFF ...... End of SRAM
421a21c5
TFC
175 *
176 * SRAM Memory layout for Arria 10:
177 * 0xFFE0_0000 ...... Start of SRAM (bottom)
178 * 0xFFEx_xxxx ...... Top of stack (grows down to bottom)
179 * 0xFFEy_yyyy ...... Global Data
180 * 0xFFEz_zzzz ...... Malloc area (grows up to top)
181 * 0xFFE3_FFFF ...... End of SRAM (top)
5095ee08 182 */
92a47459 183#ifndef CONFIG_SPL_TEXT_BASE
1b259403 184#define CONFIG_SPL_MAX_SIZE CONFIG_SYS_INIT_RAM_SIZE
92a47459 185#endif
5095ee08 186
d3f34e75
MV
187/* SPL SDMMC boot support */
188#ifdef CONFIG_SPL_MMC_SUPPORT
f4b40924 189#if defined(CONFIG_SPL_FS_FAT) || defined(CONFIG_SPL_FS_EXT4)
998f7cb2 190#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"
451e8241
DW
191#endif
192#else
193#ifndef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION
194#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION 1
d3f34e75
MV
195#endif
196#endif
5095ee08 197
346d6f56 198/* SPL QSPI boot support */
346d6f56 199
c339ea5b
MV
200/* SPL NAND boot support */
201#ifdef CONFIG_SPL_NAND_SUPPORT
bd6363a7 202#if defined(CONFIG_TARGET_SOCFPGA_GEN5)
c339ea5b 203#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x40000
bd6363a7
MV
204#elif defined(CONFIG_TARGET_SOCFPGA_ARRIA10)
205#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x100000
206#endif
c339ea5b
MV
207#endif
208
451e8241
DW
209/* Extra Environment */
210#ifndef CONFIG_SPL_BUILD
451e8241 211
1c7fa793
SG
212#ifdef CONFIG_CMD_DHCP
213#define BOOT_TARGET_DEVICES_DHCP(func) func(DHCP, dhcp, na)
214#else
215#define BOOT_TARGET_DEVICES_DHCP(func)
216#endif
217
86271b3f 218#if defined(CONFIG_CMD_PXE) && defined(CONFIG_CMD_DHCP)
451e8241
DW
219#define BOOT_TARGET_DEVICES_PXE(func) func(PXE, pxe, na)
220#else
221#define BOOT_TARGET_DEVICES_PXE(func)
222#endif
223
224#ifdef CONFIG_CMD_MMC
225#define BOOT_TARGET_DEVICES_MMC(func) func(MMC, mmc, 0)
226#else
227#define BOOT_TARGET_DEVICES_MMC(func)
228#endif
229
230#define BOOT_TARGET_DEVICES(func) \
231 BOOT_TARGET_DEVICES_MMC(func) \
232 BOOT_TARGET_DEVICES_PXE(func) \
1c7fa793 233 BOOT_TARGET_DEVICES_DHCP(func)
451e8241
DW
234
235#include <config_distro_bootcmd.h>
236
237#ifndef CONFIG_EXTRA_ENV_SETTINGS
238#define CONFIG_EXTRA_ENV_SETTINGS \
239 "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
240 "bootm_size=0xa000000\0" \
241 "kernel_addr_r="__stringify(CONFIG_SYS_LOAD_ADDR)"\0" \
242 "fdt_addr_r=0x02000000\0" \
243 "scriptaddr=0x02100000\0" \
244 "pxefile_addr_r=0x02200000\0" \
245 "ramdisk_addr_r=0x02300000\0" \
4b2e32ef 246 "socfpga_legacy_reset_compat=1\0" \
451e8241
DW
247 BOOTENV
248
249#endif
250#endif
251
48275c96 252#endif /* __CONFIG_SOCFPGA_COMMON_H__ */
This page took 0.732101 seconds and 4 git commands to generate.