1
2
3
4
5
6
7#ifndef __CONFIG_H
8#define __CONFIG_H
9
10#include <linux/sizes.h>
11#include <asm/arch/timer.h>
12
13#if defined(CONFIG_TARGET_RPI_2) || defined(CONFIG_TARGET_RPI_3_32B)
14#define CONFIG_SKIP_LOWLEVEL_INIT
15#endif
16
17
18#define CONFIG_ARCH_CPU_INIT
19#define CONFIG_BOARD_EARLY_INIT_F
20
21
22#ifndef CONFIG_ARM64
23#define CONFIG_SYS_TIMER_RATE 1000000
24#define CONFIG_SYS_TIMER_COUNTER \
25 (&((struct bcm2835_timer_regs *)BCM2835_TIMER_PHYSADDR)->clo)
26#endif
27
28
29
30
31
32
33
34
35
36
37
38
39#ifdef CONFIG_BCM2835
40#define CONFIG_MACH_TYPE MACH_TYPE_BCM2708
41#endif
42
43
44#define CONFIG_NR_DRAM_BANKS 1
45#define CONFIG_SYS_SDRAM_BASE 0x00000000
46#ifdef CONFIG_ARM64
47#define CONFIG_SYS_TEXT_BASE 0x00080000
48#else
49#define CONFIG_SYS_TEXT_BASE 0x00008000
50#endif
51#define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_TEXT_BASE
52
53
54
55
56
57
58#define CONFIG_SYS_SDRAM_SIZE SZ_128M
59#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + \
60 CONFIG_SYS_SDRAM_SIZE - \
61 GENERATED_GBL_DATA_SIZE)
62#define CONFIG_SYS_MALLOC_LEN SZ_4M
63#define CONFIG_SYS_MEMTEST_START 0x00100000
64#define CONFIG_SYS_MEMTEST_END 0x00200000
65#define CONFIG_LOADADDR 0x00200000
66
67
68#define CONFIG_SYS_NO_FLASH
69
70
71
72#define CONFIG_BCM2835_GPIO
73
74#define CONFIG_LCD
75#define CONFIG_LCD_DT_SIMPLEFB
76#define LCD_BPP LCD_COLOR16
77
78
79
80
81
82#define CONFIG_FB_ADDR 0
83#define CONFIG_VIDEO_BCM2835
84#define CONFIG_SYS_WHITE_ON_BLACK
85#define CONFIG_CONSOLE_SCROLL_LINES 10
86
87
88#define CONFIG_GENERIC_MMC
89#define CONFIG_MMC
90#define CONFIG_SDHCI
91#define CONFIG_MMC_SDHCI_IO_ACCESSORS
92#define CONFIG_BCM2835_SDHCI
93
94#ifdef CONFIG_CMD_USB
95#define CONFIG_USB_DWC2
96#ifndef CONFIG_BCM2835
97#define CONFIG_USB_DWC2_REG_ADDR 0x3f980000
98#else
99#define CONFIG_USB_DWC2_REG_ADDR 0x20980000
100#endif
101#define CONFIG_USB_HOST_ETHER
102#define CONFIG_USB_ETHER_SMSC95XX
103#define CONFIG_TFTP_TSIZE
104#define CONFIG_MISC_INIT_R
105#define CONFIG_USB_KEYBOARD
106#define CONFIG_SYS_USB_EVENT_POLL
107#define CONFIG_SYS_STDIO_DEREGISTER
108#endif
109
110
111#ifdef CONFIG_BCM2837
112#define CONFIG_BCM283X_MU_SERIAL
113#else
114#define CONFIG_PL01X_SERIAL
115#endif
116#define CONFIG_CONS_INDEX 0
117#define CONFIG_BAUDRATE 115200
118
119
120#define CONFIG_SYS_CBSIZE 1024
121#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
122 sizeof(CONFIG_SYS_PROMPT) + 16)
123
124
125#define CONFIG_ENV_SIZE SZ_16K
126#define CONFIG_ENV_IS_IN_FAT
127#define FAT_ENV_INTERFACE "mmc"
128#define FAT_ENV_DEVICE_AND_PART "0:1"
129#define FAT_ENV_FILE "uboot.env"
130#define CONFIG_FAT_WRITE
131#define CONFIG_ENV_VARS_UBOOT_CONFIG
132#define CONFIG_SYS_LOAD_ADDR 0x1000000
133#define CONFIG_CONSOLE_MUX
134#define CONFIG_SYS_CONSOLE_IS_IN_ENV
135#define CONFIG_PREBOOT "usb start"
136
137
138#define CONFIG_SYS_MAXARGS 16
139#define CONFIG_COMMAND_HISTORY
140
141
142#define CONFIG_PARTITION_UUIDS
143#define CONFIG_CMD_PART
144
145
146#define CONFIG_SETUP_MEMORY_TAGS
147#define CONFIG_CMDLINE_TAG
148#define CONFIG_INITRD_TAG
149
150#include <config_distro_defaults.h>
151
152
153#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
154#define ENV_DEVICE_SETTINGS \
155 "stdin=serial,usbkbd\0" \
156 "stdout=serial,lcd\0" \
157 "stderr=serial,lcd\0"
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189#define ENV_MEM_LAYOUT_SETTINGS \
190 "fdt_high=ffffffff\0" \
191 "initrd_high=ffffffff\0" \
192 "fdt_addr_r=0x00000100\0" \
193 "pxefile_addr_r=0x00100000\0" \
194 "kernel_addr_r=0x01000000\0" \
195 "scriptaddr=0x02000000\0" \
196 "ramdisk_addr_r=0x02100000\0" \
197
198#define BOOT_TARGET_DEVICES(func) \
199 func(MMC, mmc, 0) \
200 func(USB, usb, 0) \
201 func(PXE, pxe, na) \
202 func(DHCP, dhcp, na)
203#include <config_distro_bootcmd.h>
204
205#define CONFIG_EXTRA_ENV_SETTINGS \
206 "dhcpuboot=usb start; dhcp u-boot.uimg; bootm\0" \
207 ENV_DEVICE_SETTINGS \
208 ENV_MEM_LAYOUT_SETTINGS \
209 BOOTENV
210
211
212#endif
213