1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (c) 2019 Western Digital Corporation or its affiliates.
4  *
5  * Authors:
6  *   Anup Patel <anup.patel@wdc.com>
7  */
8 
9 #ifndef __CONFIG_H
10 #define __CONFIG_H
11 
12 #include <linux/sizes.h>
13 
14 #ifdef CONFIG_SPL
15 
16 #define CONFIG_SPL_MAX_SIZE		0x00100000
17 #define CONFIG_SPL_BSS_START_ADDR	0x85000000
18 #define CONFIG_SPL_BSS_MAX_SIZE		0x00100000
19 #define CONFIG_SYS_SPL_MALLOC_START	(CONFIG_SPL_BSS_START_ADDR + \
20 					 CONFIG_SPL_BSS_MAX_SIZE)
21 #define CONFIG_SYS_SPL_MALLOC_SIZE	0x00100000
22 
23 #define CONFIG_SPL_STACK	(0x08000000 + 0x001D0000 - \
24 				 GENERATED_GBL_DATA_SIZE)
25 
26 #endif
27 
28 #define CONFIG_SYS_SDRAM_BASE		0x80000000
29 #define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_SDRAM_BASE + SZ_2M)
30 
31 #define CONFIG_SYS_LOAD_ADDR		(CONFIG_SYS_SDRAM_BASE + SZ_2M)
32 
33 #define CONFIG_SYS_MALLOC_LEN		SZ_8M
34 
35 #define CONFIG_SYS_BOOTM_LEN		SZ_64M
36 
37 #define CONFIG_STANDALONE_LOAD_ADDR	0x80200000
38 
39 #define RISCV_MMODE_TIMERBASE		0x2000000
40 #define RISCV_MMODE_TIMER_FREQ		1000000
41 
42 #define RISCV_SMODE_TIMER_FREQ		1000000
43 
44 /* Environment options */
45 
46 #ifndef CONFIG_SPL_BUILD
47 #define BOOT_TARGET_DEVICES(func) \
48 	func(MMC, mmc, 0) \
49 	func(SF, sf, 0) \
50 	func(DHCP, dhcp, na)
51 
52 #include <config_distro_bootcmd.h>
53 #include <environment/distro/sf.h>
54 
55 #define TYPE_GUID_LOADER1	"5B193300-FC78-40CD-8002-E86C45580B47"
56 #define TYPE_GUID_LOADER2	"2E54B353-1271-4842-806F-E436D6AF6985"
57 #define TYPE_GUID_SYSTEM	"0FC63DAF-8483-4772-8E79-3D69D8477DE4"
58 
59 #define PARTS_DEFAULT \
60 	"name=loader1,start=17K,size=1M,type=${type_guid_gpt_loader1};" \
61 	"name=loader2,size=4MB,type=${type_guid_gpt_loader2};" \
62 	"name=system,size=-,bootable,type=${type_guid_gpt_system};"
63 
64 #define CONFIG_EXTRA_ENV_SETTINGS \
65 	"fdt_high=0xffffffffffffffff\0" \
66 	"initrd_high=0xffffffffffffffff\0" \
67 	"kernel_addr_r=0x84000000\0" \
68 	"fdt_addr_r=0x88000000\0" \
69 	"scriptaddr=0x88100000\0" \
70 	"script_offset_f=0x1fff000\0" \
71 	"script_size_f=0x1000\0" \
72 	"pxefile_addr_r=0x88200000\0" \
73 	"ramdisk_addr_r=0x88300000\0" \
74 	"type_guid_gpt_loader1=" TYPE_GUID_LOADER1 "\0" \
75 	"type_guid_gpt_loader2=" TYPE_GUID_LOADER2 "\0" \
76 	"type_guid_gpt_system=" TYPE_GUID_SYSTEM "\0" \
77 	"partitions=" PARTS_DEFAULT "\0" \
78 	BOOTENV \
79 	BOOTENV_SF
80 
81 #define CONFIG_PREBOOT \
82 	"setenv fdt_addr ${fdtcontroladdr};" \
83 	"fdt addr ${fdtcontroladdr};"
84 #endif
85 
86 #endif /* __CONFIG_H */
87