blob: 45049621710f05e14e27452e93d26da55b109db3 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Rick Chen56a4ca82017-12-26 13:55:54 +08002/*
3 * Copyright (C) 2017 Andes Technology Corporation
4 * Rick Chen, Andes Technology Corporation <rick@andestech.com>
Rick Chen56a4ca82017-12-26 13:55:54 +08005 */
6
7#ifndef __CONFIG_H
8#define __CONFIG_H
9
Rick Chencd61e862019-11-14 13:52:22 +080010#ifdef CONFIG_SPL
11#define CONFIG_SPL_MAX_SIZE 0x00100000
12#define CONFIG_SPL_BSS_START_ADDR 0x04000000
13#define CONFIG_SPL_BSS_MAX_SIZE 0x00100000
14
15#ifndef CONFIG_XIP
16#define CONFIG_SPL_LOAD_FIT_ADDRESS 0x00200000
17#else
18#define CONFIG_SPL_LOAD_FIT_ADDRESS 0x80010000
19#endif
20
21#ifdef CONFIG_SPL_MMC_SUPPORT
22#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
23#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.itb"
24#endif
25#endif
26
Rick Chen56a4ca82017-12-26 13:55:54 +080027/*
28 * CPU and Board Configuration Options
29 */
Rick Chen56a4ca82017-12-26 13:55:54 +080030#define CONFIG_BOOTP_SEND_HOSTNAME
Rick Chen56a4ca82017-12-26 13:55:54 +080031
Rick Chen56a4ca82017-12-26 13:55:54 +080032/*
33 * Miscellaneous configurable options
34 */
Rick Chen56a4ca82017-12-26 13:55:54 +080035#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
36
37/*
38 * Print Buffer Size
39 */
40#define CONFIG_SYS_PBSIZE \
41 (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
42
43/*
44 * max number of command args
45 */
46#define CONFIG_SYS_MAXARGS 16
47
48/*
49 * Boot Argument Buffer Size
50 */
51#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
52
53/*
54 * Size of malloc() pool
55 * 512kB is suggested, (CONFIG_ENV_SIZE + 128 * 1024) was not enough
56 */
57#define CONFIG_SYS_MALLOC_LEN (512 << 10)
58
Rick Chend58717e2018-03-29 10:08:33 +080059/* DT blob (fdt) address */
Rick Chend8fc1ef2019-04-30 13:49:37 +080060#define CONFIG_SYS_FDT_BASE 0x800f0000
Rick Chend58717e2018-03-29 10:08:33 +080061
Rick Chen56a4ca82017-12-26 13:55:54 +080062/*
63 * Physical Memory Map
64 */
Rick Chen56a4ca82017-12-26 13:55:54 +080065#define PHYS_SDRAM_0 0x00000000 /* SDRAM Bank #1 */
66#define PHYS_SDRAM_1 \
67 (PHYS_SDRAM_0 + PHYS_SDRAM_0_SIZE) /* SDRAM Bank #2 */
68#define PHYS_SDRAM_0_SIZE 0x20000000 /* 512 MB */
69#define PHYS_SDRAM_1_SIZE 0x20000000 /* 512 MB */
70#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_0
71
72/*
73 * Serial console configuration
74 */
Rick Chen56a4ca82017-12-26 13:55:54 +080075#define CONFIG_SYS_NS16550_SERIAL
76#ifndef CONFIG_DM_SERIAL
77#define CONFIG_SYS_NS16550_REG_SIZE -4
78#endif
79#define CONFIG_SYS_NS16550_CLK 19660800
80
Rick Chen56a4ca82017-12-26 13:55:54 +080081/* Init Stack Pointer */
82#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x1000000 - \
83 GENERATED_GBL_DATA_SIZE)
84
85/*
86 * Load address and memory test area should agree with
87 * arch/riscv/config.mk. Be careful not to overwrite U-Boot itself.
88 */
89#define CONFIG_SYS_LOAD_ADDR 0x100000 /* SDRAM */
90
91/*
92 * memtest works on 512 MB in DRAM
93 */
94#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM_0
95#define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_0 + PHYS_SDRAM_0_SIZE)
96
Rick Chenc038fd02018-05-29 11:04:23 +080097/*
98 * FLASH and environment organization
99 */
100
101/* use CFI framework */
Rick Chenc038fd02018-05-29 11:04:23 +0800102
103#define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT
Rick Chenc038fd02018-05-29 11:04:23 +0800104#define CONFIG_SYS_CFI_FLASH_STATUS_POLL
105
106/* support JEDEC */
107#ifdef CONFIG_CFI_FLASH
108#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT 1
109#endif/* Do not use CONFIG_FLASH_CFI_LEGACY to detect on board flash */
110#define PHYS_FLASH_1 0x88000000 /* BANK 0 */
111#define CONFIG_SYS_FLASH_BASE PHYS_FLASH_1
112#define CONFIG_SYS_FLASH_BANKS_LIST { PHYS_FLASH_1, }
113#define CONFIG_SYS_MONITOR_BASE PHYS_FLASH_1
114
115#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* TO for Flash Erase (ms) */
116#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* TO for Flash Write (ms) */
117
118/* max number of memory banks */
119/*
120 * There are 4 banks supported for this Controller,
121 * but we have only 1 bank connected to flash on board
122*/
123#ifndef CONFIG_SYS_MAX_FLASH_BANKS_DETECT
124#define CONFIG_SYS_MAX_FLASH_BANKS 1
125#endif
126#define CONFIG_SYS_FLASH_BANKS_SIZES {0x4000000}
127
128/* max number of sectors on one chip */
129#define CONFIG_FLASH_SECTOR_SIZE (0x10000*2)
130#define CONFIG_SYS_MAX_FLASH_SECT 512
131
Rick Chen56a4ca82017-12-26 13:55:54 +0800132/* environments */
Rick Chen56a4ca82017-12-26 13:55:54 +0800133#define CONFIG_ENV_OVERWRITE
134
135/* SPI FLASH */
Rick Chen56a4ca82017-12-26 13:55:54 +0800136
137/*
138 * For booting Linux, the board info and command line data
139 * have to be in the first 16 MB of memory, since this is
140 * the maximum mapped by the Linux kernel during initialization.
141 */
142
143/* Initial Memory map for Linux*/
144#define CONFIG_SYS_BOOTMAPSZ (64 << 20)
145/* Increase max gunzip size */
146#define CONFIG_SYS_BOOTM_LEN (64 << 20)
147
Alexander Graf0979f7c2018-04-23 07:59:49 +0200148/* When we use RAM as ENV */
Alexander Graf0979f7c2018-04-23 07:59:49 +0200149
150/* Enable distro boot */
151#define BOOT_TARGET_DEVICES(func) \
152 func(MMC, mmc, 0) \
153 func(DHCP, dhcp, na)
154#include <config_distro_bootcmd.h>
155
156#define CONFIG_EXTRA_ENV_SETTINGS \
157 "kernel_addr_r=0x00080000\0" \
158 "pxefile_addr_r=0x01f00000\0" \
159 "scriptaddr=0x01f00000\0" \
160 "fdt_addr_r=0x02000000\0" \
161 "ramdisk_addr_r=0x02800000\0" \
162 BOOTENV
163
Rick Chen56a4ca82017-12-26 13:55:54 +0800164#endif /* __CONFIG_H */