blob: b2606e794dd27dc54051bddbb5ecff5ad9b2198b [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Rick Chenb46a18b2017-12-26 13:55:54 +08002/*
3 * Copyright (C) 2017 Andes Technology Corporation
4 * Rick Chen, Andes Technology Corporation <rick@andestech.com>
Rick Chenb46a18b2017-12-26 13:55:54 +08005 */
6
7#ifndef __CONFIG_H
8#define __CONFIG_H
9
Rick Chenc3027d02019-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
Rick Chenc3027d02019-11-14 13:52:22 +080015#ifdef CONFIG_SPL_MMC_SUPPORT
Rick Chenc3027d02019-11-14 13:52:22 +080016#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.itb"
17#endif
18#endif
19
Rick Chenb46a18b2017-12-26 13:55:54 +080020/*
21 * CPU and Board Configuration Options
22 */
Rick Chenb46a18b2017-12-26 13:55:54 +080023
Rick Chenb46a18b2017-12-26 13:55:54 +080024/*
25 * Miscellaneous configurable options
26 */
Rick Chenb46a18b2017-12-26 13:55:54 +080027#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
28
29/*
30 * Print Buffer Size
31 */
32#define CONFIG_SYS_PBSIZE \
33 (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
34
35/*
36 * max number of command args
37 */
38#define CONFIG_SYS_MAXARGS 16
39
40/*
41 * Boot Argument Buffer Size
42 */
43#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
44
45/*
46 * Size of malloc() pool
47 * 512kB is suggested, (CONFIG_ENV_SIZE + 128 * 1024) was not enough
48 */
49#define CONFIG_SYS_MALLOC_LEN (512 << 10)
50
Rick Chen40a6fe72018-03-29 10:08:33 +080051/* DT blob (fdt) address */
Rick Chen92919632019-04-30 13:49:37 +080052#define CONFIG_SYS_FDT_BASE 0x800f0000
Rick Chen40a6fe72018-03-29 10:08:33 +080053
Rick Chenb46a18b2017-12-26 13:55:54 +080054/*
55 * Physical Memory Map
56 */
Rick Chenb46a18b2017-12-26 13:55:54 +080057#define PHYS_SDRAM_0 0x00000000 /* SDRAM Bank #1 */
58#define PHYS_SDRAM_1 \
59 (PHYS_SDRAM_0 + PHYS_SDRAM_0_SIZE) /* SDRAM Bank #2 */
60#define PHYS_SDRAM_0_SIZE 0x20000000 /* 512 MB */
61#define PHYS_SDRAM_1_SIZE 0x20000000 /* 512 MB */
62#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_0
63
64/*
65 * Serial console configuration
66 */
Rick Chenb46a18b2017-12-26 13:55:54 +080067#define CONFIG_SYS_NS16550_SERIAL
68#ifndef CONFIG_DM_SERIAL
69#define CONFIG_SYS_NS16550_REG_SIZE -4
70#endif
71#define CONFIG_SYS_NS16550_CLK 19660800
72
Rick Chenb46a18b2017-12-26 13:55:54 +080073/* Init Stack Pointer */
74#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x1000000 - \
75 GENERATED_GBL_DATA_SIZE)
76
77/*
78 * Load address and memory test area should agree with
79 * arch/riscv/config.mk. Be careful not to overwrite U-Boot itself.
80 */
81#define CONFIG_SYS_LOAD_ADDR 0x100000 /* SDRAM */
82
83/*
84 * memtest works on 512 MB in DRAM
85 */
Rick Chenb46a18b2017-12-26 13:55:54 +080086
Rick Chenc6164142018-05-29 11:04:23 +080087/*
88 * FLASH and environment organization
89 */
90
91/* use CFI framework */
Rick Chenc6164142018-05-29 11:04:23 +080092
93#define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT
Rick Chenc6164142018-05-29 11:04:23 +080094#define CONFIG_SYS_CFI_FLASH_STATUS_POLL
95
96/* support JEDEC */
97#ifdef CONFIG_CFI_FLASH
98#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT 1
99#endif/* Do not use CONFIG_FLASH_CFI_LEGACY to detect on board flash */
100#define PHYS_FLASH_1 0x88000000 /* BANK 0 */
101#define CONFIG_SYS_FLASH_BASE PHYS_FLASH_1
102#define CONFIG_SYS_FLASH_BANKS_LIST { PHYS_FLASH_1, }
103#define CONFIG_SYS_MONITOR_BASE PHYS_FLASH_1
104
105#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* TO for Flash Erase (ms) */
106#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* TO for Flash Write (ms) */
107
108/* max number of memory banks */
109/*
110 * There are 4 banks supported for this Controller,
111 * but we have only 1 bank connected to flash on board
112*/
113#ifndef CONFIG_SYS_MAX_FLASH_BANKS_DETECT
114#define CONFIG_SYS_MAX_FLASH_BANKS 1
115#endif
116#define CONFIG_SYS_FLASH_BANKS_SIZES {0x4000000}
117
118/* max number of sectors on one chip */
119#define CONFIG_FLASH_SECTOR_SIZE (0x10000*2)
120#define CONFIG_SYS_MAX_FLASH_SECT 512
121
Rick Chenb46a18b2017-12-26 13:55:54 +0800122/* environments */
Rick Chenb46a18b2017-12-26 13:55:54 +0800123
124/* SPI FLASH */
Rick Chenb46a18b2017-12-26 13:55:54 +0800125
126/*
127 * For booting Linux, the board info and command line data
128 * have to be in the first 16 MB of memory, since this is
129 * the maximum mapped by the Linux kernel during initialization.
130 */
131
132/* Initial Memory map for Linux*/
133#define CONFIG_SYS_BOOTMAPSZ (64 << 20)
134/* Increase max gunzip size */
135#define CONFIG_SYS_BOOTM_LEN (64 << 20)
136
Alexander Graf438b9be2018-04-23 07:59:49 +0200137/* When we use RAM as ENV */
Alexander Graf438b9be2018-04-23 07:59:49 +0200138
139/* Enable distro boot */
140#define BOOT_TARGET_DEVICES(func) \
141 func(MMC, mmc, 0) \
142 func(DHCP, dhcp, na)
143#include <config_distro_bootcmd.h>
144
145#define CONFIG_EXTRA_ENV_SETTINGS \
146 "kernel_addr_r=0x00080000\0" \
147 "pxefile_addr_r=0x01f00000\0" \
148 "scriptaddr=0x01f00000\0" \
149 "fdt_addr_r=0x02000000\0" \
150 "ramdisk_addr_r=0x02800000\0" \
151 BOOTENV
152
Rick Chenb46a18b2017-12-26 13:55:54 +0800153#endif /* __CONFIG_H */