Commit be288570727fe37543a74b8c5469bbbb01a3d980
Committed by
Albert ARIBAUD
1 parent
c91e90db8c
Exists in
master
and in
55 other branches
ARM: remove broken "armadillo" board
Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Rowel Atienza <rowel@diwalabs.com>
Showing 10 changed files with 1 additions and 725 deletions Side-by-side Diff
MAINTAINERS
MAKEALL
board/armadillo/Makefile
1 | -# | |
2 | -# (C) Copyright 2006 | |
3 | -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. | |
4 | -# | |
5 | -# (C) Copyright 2002 | |
6 | -# Sysgo Real-Time Solutions, GmbH <www.elinos.com> | |
7 | -# Marius Groeger <mgroeger@sysgo.de> | |
8 | -# | |
9 | -# See file CREDITS for list of people who contributed to this | |
10 | -# project. | |
11 | -# | |
12 | -# This program is free software; you can redistribute it and/or | |
13 | -# modify it under the terms of the GNU General Public License as | |
14 | -# published by the Free Software Foundation; either version 2 of | |
15 | -# the License, or (at your option) any later version. | |
16 | -# | |
17 | -# This program is distributed in the hope that it will be useful, | |
18 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | -# GNU General Public License for more details. | |
21 | -# | |
22 | -# You should have received a copy of the GNU General Public License | |
23 | -# along with this program; if not, write to the Free Software | |
24 | -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
25 | -# MA 02111-1307 USA | |
26 | -# | |
27 | - | |
28 | -include $(TOPDIR)/config.mk | |
29 | - | |
30 | -LIB = $(obj)lib$(BOARD).o | |
31 | - | |
32 | -COBJS := armadillo.o flash.o | |
33 | -SOBJS := lowlevel_init.o | |
34 | - | |
35 | -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) | |
36 | -OBJS := $(addprefix $(obj),$(COBJS)) | |
37 | -SOBJS := $(addprefix $(obj),$(SOBJS)) | |
38 | - | |
39 | -$(LIB): $(obj).depend $(OBJS) $(SOBJS) | |
40 | - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) | |
41 | - | |
42 | -clean: | |
43 | - rm -f $(SOBJS) $(OBJS) | |
44 | - | |
45 | -distclean: clean | |
46 | - rm -f $(LIB) core *.bak $(obj).depend | |
47 | - | |
48 | -######################################################################### | |
49 | - | |
50 | -# defines $(obj).depend target | |
51 | -include $(SRCTREE)/rules.mk | |
52 | - | |
53 | -sinclude $(obj).depend | |
54 | - | |
55 | -######################################################################### |
board/armadillo/armadillo.c
1 | -/* | |
2 | - * (C) Copyright 2002 | |
3 | - * Sysgo Real-Time Solutions, GmbH <www.elinos.com> | |
4 | - * Marius Groeger <mgroeger@sysgo.de> | |
5 | - * | |
6 | - * (C) Copyright 2005 Rowel Atienza <rowel@diwalabs.com> | |
7 | - * Armadillo board HT1070 | |
8 | - * | |
9 | - * See file CREDITS for list of people who contributed to this | |
10 | - * project. | |
11 | - * | |
12 | - * This program is free software; you can redistribute it and/or | |
13 | - * modify it under the terms of the GNU General Public License as | |
14 | - * published by the Free Software Foundation; either version 2 of | |
15 | - * the License, or (at your option) any later version. | |
16 | - * | |
17 | - * This program is distributed in the hope that it will be useful, | |
18 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | - * GNU General Public License for more details. | |
21 | - * | |
22 | - * You should have received a copy of the GNU General Public License | |
23 | - * along with this program; if not, write to the Free Software | |
24 | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
25 | - * MA 02111-1307 USA | |
26 | - */ | |
27 | - | |
28 | -#include <common.h> | |
29 | -#include <netdev.h> | |
30 | -#include <clps7111.h> | |
31 | - | |
32 | -DECLARE_GLOBAL_DATA_PTR; | |
33 | - | |
34 | -/* ------------------------------------------------------------------------- */ | |
35 | - | |
36 | - | |
37 | -/* | |
38 | - * Miscelaneous platform dependent initialisations | |
39 | - */ | |
40 | - | |
41 | -int board_init (void) | |
42 | -{ | |
43 | - /* Activate LED flasher */ | |
44 | - IO_LEDFLSH = 0x40; | |
45 | - | |
46 | - /* arch number MACH_TYPE_ARMADILLO - not official*/ | |
47 | - gd->bd->bi_arch_number = 83; | |
48 | - | |
49 | - /* location of boot parameters */ | |
50 | - gd->bd->bi_boot_params = 0xc0000100; | |
51 | - | |
52 | - return 0; | |
53 | -} | |
54 | - | |
55 | -int dram_init (void) | |
56 | -{ | |
57 | - gd->bd->bi_dram[0].start = PHYS_SDRAM_1; | |
58 | - gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; | |
59 | - | |
60 | - return (0); | |
61 | -} | |
62 | - | |
63 | -#ifdef CONFIG_CMD_NET | |
64 | -int board_eth_init(bd_t *bis) | |
65 | -{ | |
66 | - int rc = 0; | |
67 | -#ifdef CONFIG_CS8900 | |
68 | - rc = cs8900_initialize(0, CONFIG_CS8900_BASE); | |
69 | -#endif | |
70 | - return rc; | |
71 | -} | |
72 | -#endif |
board/armadillo/config.mk
1 | -# | |
2 | -# (C) Copyright 2000 | |
3 | -# Sysgo Real-Time Solutions, GmbH <www.elinos.com> | |
4 | -# Marius Groeger <mgroeger@sysgo.de> | |
5 | -# | |
6 | -# (C) Copyright 2000 | |
7 | -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. | |
8 | -# | |
9 | -# See file CREDITS for list of people who contributed to this | |
10 | -# project. | |
11 | -# | |
12 | -# This program is free software; you can redistribute it and/or | |
13 | -# modify it under the terms of the GNU General Public License as | |
14 | -# published by the Free Software Foundation; either version 2 of | |
15 | -# the License, or (at your option) any later version. | |
16 | -# | |
17 | -# This program is distributed in the hope that it will be useful, | |
18 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | -# GNU General Public License for more details. | |
21 | -# | |
22 | -# You should have received a copy of the GNU General Public License | |
23 | -# along with this program; if not, write to the Free Software | |
24 | -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
25 | -# MA 02111-1307 USA | |
26 | -# | |
27 | - | |
28 | -#address where u-boot will be relocated | |
29 | -CONFIG_SYS_TEXT_BASE = 0xc0f80000 |
board/armadillo/flash.c
1 | -/* | |
2 | - * (C) Copyright 2002 | |
3 | - * Sysgo Real-Time Solutions, GmbH <www.elinos.com> | |
4 | - * Marius Groeger <mgroeger@sysgo.de> | |
5 | - * | |
6 | - * (C) Copyright 2005 Rowel Atienza <rowel@diwalabs.com> | |
7 | - * Flash driver for armadillo board HT1070 | |
8 | - * | |
9 | - * See file CREDITS for list of people who contributed to this | |
10 | - * project. | |
11 | - * | |
12 | - * This program is free software; you can redistribute it and/or | |
13 | - * modify it under the terms of the GNU General Public License as | |
14 | - * published by the Free Software Foundation; either version 2 of | |
15 | - * the License, or (at your option) any later version. | |
16 | - * | |
17 | - * This program is distributed in the hope that it will be useful, | |
18 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | - * GNU General Public License for more details. | |
21 | - * | |
22 | - * You should have received a copy of the GNU General Public License | |
23 | - * along with this program; if not, write to the Free Software | |
24 | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
25 | - * MA 02111-1307 USA | |
26 | - */ | |
27 | - | |
28 | -#include <common.h> | |
29 | - | |
30 | -#define FLASH_BANK_SIZE 0x400000 | |
31 | - | |
32 | -/*value used by hermit is 0x200*/ | |
33 | -/*document says sector size is either 64k in low mem reg and 8k in high mem reg*/ | |
34 | -#define MAIN_SECT_SIZE 0x10000 | |
35 | - | |
36 | -#define UNALIGNED_MASK (3) | |
37 | -#define FL_WORD(addr) (*(volatile unsigned short*)(addr)) | |
38 | -#define FLASH_TIMEOUT 20000000 | |
39 | - | |
40 | -flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS]; | |
41 | - | |
42 | -/*----------------------------------------------------------------------- | |
43 | - */ | |
44 | - | |
45 | -ulong flash_init (void) | |
46 | -{ | |
47 | - int i, j; | |
48 | - ulong size = 0; | |
49 | - | |
50 | - for (i = 0; i < CONFIG_SYS_MAX_FLASH_BANKS; i++) { | |
51 | - ulong flashbase = 0; | |
52 | - | |
53 | - flash_info[i].flash_id = (FUJ_MANUFACT & FLASH_VENDMASK); | |
54 | - /*(INTEL_ID_28F128J3 & FLASH_TYPEMASK); */ | |
55 | - flash_info[i].size = FLASH_BANK_SIZE; | |
56 | - flash_info[i].sector_count = CONFIG_SYS_MAX_FLASH_SECT; | |
57 | - memset (flash_info[i].protect, 0, CONFIG_SYS_MAX_FLASH_SECT); | |
58 | - if (i == 0) | |
59 | - flashbase = PHYS_FLASH_1; | |
60 | - else | |
61 | - panic ("configured too many flash banks!\n"); | |
62 | - for (j = 0; j < flash_info[i].sector_count; j++) { | |
63 | - flash_info[i].start[j] = | |
64 | - flashbase + j * MAIN_SECT_SIZE; | |
65 | - } | |
66 | - size += flash_info[i].size; | |
67 | - } | |
68 | - | |
69 | - /* Protect monitor and environment sectors | |
70 | - */ | |
71 | - flash_protect (FLAG_PROTECT_SET, | |
72 | - CONFIG_SYS_FLASH_BASE, | |
73 | - CONFIG_SYS_FLASH_BASE + monitor_flash_len - 1, | |
74 | - &flash_info[0]); | |
75 | - | |
76 | - flash_protect (FLAG_PROTECT_SET, | |
77 | - CONFIG_ENV_ADDR, | |
78 | - CONFIG_ENV_ADDR + CONFIG_ENV_SIZE - 1, &flash_info[0]); | |
79 | - | |
80 | - return size; | |
81 | -} | |
82 | - | |
83 | -/*----------------------------------------------------------------------- | |
84 | - */ | |
85 | -void flash_print_info (flash_info_t * info) | |
86 | -{ | |
87 | - int i; | |
88 | - | |
89 | - switch (info->flash_id & FLASH_VENDMASK) { | |
90 | - case (FUJ_MANUFACT & FLASH_VENDMASK): | |
91 | - printf ("Fujitsu: "); | |
92 | - break; | |
93 | - default: | |
94 | - printf ("Unknown Vendor "); | |
95 | - break; | |
96 | - } | |
97 | -/* | |
98 | - switch (info->flash_id & FLASH_TYPEMASK) { | |
99 | - case (INTEL_ID_28F128J3 & FLASH_TYPEMASK): | |
100 | - printf ("28F128J3 (128Mbit)\n"); | |
101 | - break; | |
102 | - default: | |
103 | - printf ("Unknown Chip Type\n"); | |
104 | - goto Done; | |
105 | - break; | |
106 | - } | |
107 | -*/ | |
108 | - printf (" Size: %ld MB in %d Sectors\n", | |
109 | - info->size >> 20, info->sector_count); | |
110 | - | |
111 | - printf (" Sector Start Addresses:"); | |
112 | - for (i = 0; i < info->sector_count; i++) { | |
113 | - if ((i % 5) == 0) { | |
114 | - printf ("\n "); | |
115 | - } | |
116 | - printf (" %08lX%s", info->start[i], | |
117 | - info->protect[i] ? " (RO)" : " "); | |
118 | - } | |
119 | - printf ("\n"); | |
120 | - | |
121 | -/* | |
122 | -Done: ; | |
123 | -*/ | |
124 | -} | |
125 | - | |
126 | -/* | |
127 | - * * Loop until both write state machines complete. | |
128 | - * */ | |
129 | -static unsigned short flash_status_wait (unsigned long addr, | |
130 | - unsigned short value) | |
131 | -{ | |
132 | - unsigned short status; | |
133 | - long timeout = FLASH_TIMEOUT; | |
134 | - | |
135 | - while (((status = (FL_WORD (addr))) != value) && timeout > 0) { | |
136 | - timeout--; | |
137 | - } | |
138 | - return status; | |
139 | -} | |
140 | - | |
141 | -/* | |
142 | - * Loop until the Write State machine is ready, then do a full error | |
143 | - * check. Clear status and leave the flash in Read Array mode; return | |
144 | - * 0 for no error, -1 for error. | |
145 | - */ | |
146 | -static int flash_status_full_check (unsigned long addr, unsigned short value1, | |
147 | - unsigned short value2) | |
148 | -{ | |
149 | - unsigned short status1, status2; | |
150 | - | |
151 | - status1 = flash_status_wait (addr, value1); | |
152 | - status2 = flash_status_wait (addr + 2, value2); | |
153 | - return (status1 != value1 || status2 != value2) ? -1 : 0; | |
154 | -} | |
155 | - | |
156 | -/*----------------------------------------------------------------------- | |
157 | - */ | |
158 | - | |
159 | -int flash_erase (flash_info_t * info, int s_first, int s_last) | |
160 | -{ | |
161 | - int flag, prot, sect; | |
162 | - int rc = ERR_OK; | |
163 | - unsigned long base; | |
164 | - unsigned long addr; | |
165 | - ulong start; | |
166 | - | |
167 | - if ((info->flash_id & FLASH_VENDMASK) != | |
168 | - (FUJ_MANUFACT & FLASH_VENDMASK)) { | |
169 | - return ERR_UNKNOWN_FLASH_VENDOR; | |
170 | - } | |
171 | - | |
172 | - prot = 0; | |
173 | - for (sect = s_first; sect <= s_last; ++sect) { | |
174 | - if (info->protect[sect]) { | |
175 | - prot++; | |
176 | - } | |
177 | - } | |
178 | - if (prot) | |
179 | - return ERR_PROTECTED; | |
180 | - | |
181 | - /* | |
182 | - * Disable interrupts which might cause a timeout | |
183 | - * here. Remember that our exception vectors are | |
184 | - * at address 0 in the flash, and we don't want a | |
185 | - * (ticker) exception to happen while the flash | |
186 | - * chip is in programming mode. | |
187 | - */ | |
188 | - flag = disable_interrupts (); | |
189 | - | |
190 | - printf ("Erasing %d sectors starting at sector %2d.\n" | |
191 | - "This make take some time ... ", | |
192 | - s_last - s_first, sect); | |
193 | - /* Start erase on unprotected sectors */ | |
194 | - for (sect = s_first; sect <= s_last && !ctrlc (); sect++) { | |
195 | - /* ARM simple, non interrupt dependent timer */ | |
196 | - start = get_timer(0); | |
197 | - | |
198 | - if (info->protect[sect] == 0) { /* not protected */ | |
199 | - | |
200 | - addr = sect * MAIN_SECT_SIZE; | |
201 | - addr &= ~(unsigned long) UNALIGNED_MASK; /* word align */ | |
202 | - base = addr & 0xF0000000; | |
203 | - | |
204 | - FL_WORD (base + (0x555 << 1)) = 0xAA; | |
205 | - FL_WORD (base + (0x2AA << 1)) = 0x55; | |
206 | - FL_WORD (base + (0x555 << 1)) = 0x80; | |
207 | - FL_WORD (base + (0x555 << 1)) = 0xAA; | |
208 | - FL_WORD (base + (0x2AA << 1)) = 0x55; | |
209 | - FL_WORD (addr) = 0x30; | |
210 | - if (flash_status_full_check (addr, 0xFFFF, 0xFFFF)) | |
211 | - return ERR_PROTECTED; | |
212 | - } | |
213 | - } | |
214 | - printf ("\nDone.\n"); | |
215 | - if (ctrlc ()) | |
216 | - printf ("User Interrupt!\n"); | |
217 | - | |
218 | - /* allow flash to settle - wait 10 ms */ | |
219 | - udelay_masked (10000); | |
220 | - | |
221 | - if (flag) | |
222 | - enable_interrupts (); | |
223 | - | |
224 | - return rc; | |
225 | -} | |
226 | - | |
227 | - | |
228 | -/*----------------------------------------------------------------------- | |
229 | - * Copy memory to flash | |
230 | - */ | |
231 | - | |
232 | -static int write_word (flash_info_t * info, ulong dest, ushort data) | |
233 | -{ | |
234 | - int flag; | |
235 | - unsigned long base; | |
236 | - ulong start; | |
237 | - | |
238 | - /* Check if Flash is (sufficiently) erased | |
239 | - */ | |
240 | - if ((FL_WORD (dest) & data) != data) | |
241 | - return ERR_NOT_ERASED; | |
242 | - | |
243 | - /*if(dest & UNALIGNED_MASK) return ERR_ALIGN; */ | |
244 | - | |
245 | - /* | |
246 | - * Disable interrupts which might cause a timeout | |
247 | - * here. Remember that our exception vectors are | |
248 | - * at address 0 in the flash, and we don't want a | |
249 | - * (ticker) exception to happen while the flash | |
250 | - * chip is in programming mode. | |
251 | - */ | |
252 | - flag = disable_interrupts (); | |
253 | - | |
254 | - /* arm simple, non interrupt dependent timer */ | |
255 | - start = get_timer(0); | |
256 | - | |
257 | - base = dest & 0xF0000000; | |
258 | - FL_WORD (base + (0x555 << 1)) = 0xAA; | |
259 | - FL_WORD (base + (0x2AA << 1)) = 0x55; | |
260 | - FL_WORD (base + (0x555 << 1)) = 0xA0; | |
261 | - FL_WORD (dest) = data; | |
262 | - /*printf("writing 0x%p = 0x%x\n",dest,data); */ | |
263 | - if (flash_status_wait (dest, data) != data) | |
264 | - return ERR_PROG_ERROR; | |
265 | - | |
266 | - if (flag) | |
267 | - enable_interrupts (); | |
268 | - | |
269 | - return ERR_OK; | |
270 | -} | |
271 | - | |
272 | -/*----------------------------------------------------------------------- | |
273 | - * Copy memory to flash. | |
274 | - */ | |
275 | - | |
276 | -int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt) | |
277 | -{ | |
278 | - ulong cp, wp; | |
279 | - ushort data; | |
280 | - int l; | |
281 | - int i, rc; | |
282 | - | |
283 | - wp = (addr & ~1); /* get lower word aligned address */ | |
284 | - printf ("Writing %lu short data to 0x%lx from 0x%p.\n ", cnt, wp, src); | |
285 | - | |
286 | - /* | |
287 | - * handle unaligned start bytes | |
288 | - */ | |
289 | - if ((l = addr - wp) != 0) { | |
290 | - data = 0; | |
291 | - for (i = 0, cp = wp; i < l; ++i, ++cp) { | |
292 | - data = (data >> 8) | (*(uchar *) cp << 8); | |
293 | - } | |
294 | - for (; i < 2 && cnt > 0; ++i) { | |
295 | - data = (data >> 8) | (*src++ << 8); | |
296 | - --cnt; | |
297 | - ++cp; | |
298 | - } | |
299 | - for (; cnt == 0 && i < 2; ++i, ++cp) { | |
300 | - data = (data >> 8) | (*(uchar *) cp << 8); | |
301 | - } | |
302 | - | |
303 | - if ((rc = write_word (info, wp, data)) != 0) { | |
304 | - return (rc); | |
305 | - } | |
306 | - wp += 2; | |
307 | - } | |
308 | - | |
309 | - /* | |
310 | - * handle word aligned part | |
311 | - */ | |
312 | - while (cnt >= 2) { | |
313 | - data = *((vu_short *) src); | |
314 | - if ((rc = write_word (info, wp, data)) != 0) { | |
315 | - return (rc); | |
316 | - } | |
317 | - src += 2; | |
318 | - wp += 2; | |
319 | - cnt -= 2; | |
320 | - } | |
321 | - | |
322 | - if (cnt == 0) { | |
323 | - printf ("\nDone.\n"); | |
324 | - return ERR_OK; | |
325 | - } | |
326 | - | |
327 | - /* | |
328 | - * handle unaligned tail bytes | |
329 | - */ | |
330 | - data = 0; | |
331 | - for (i = 0, cp = wp; i < 2 && cnt > 0; ++i, ++cp) { | |
332 | - data = (data >> 8) | (*src++ << 8); | |
333 | - --cnt; | |
334 | - } | |
335 | - for (; i < 2; ++i, ++cp) { | |
336 | - data = (data >> 8) | (*(uchar *) cp << 8); | |
337 | - } | |
338 | - | |
339 | - return write_word (info, wp, data); | |
340 | -} |
board/armadillo/lowlevel_init.S
1 | -/* | |
2 | - * Initialization stuff - taken from hermit | |
3 | - * (C) Copyright 2005 Rowel Atienza <rowel@diwalabs.com> | |
4 | - * Armadillo board HT1070 | |
5 | - * | |
6 | - * See file CREDITS for list of people who contributed to this | |
7 | - * project. | |
8 | - * | |
9 | - * This program is free software; you can redistribute it and/or | |
10 | - * modify it under the terms of the GNU General Public License as | |
11 | - * published by the Free Software Foundation; either version 2 of | |
12 | - * the License, or (at your option) any later version. | |
13 | - * | |
14 | - * This program is distributed in the hope that it will be useful, | |
15 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | - * GNU General Public License for more details. | |
18 | - * | |
19 | - * You should have received a copy of the GNU General Public License | |
20 | - * along with this program; if not, write to the Free Software | |
21 | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
22 | - * MA 02111-1307 USA | |
23 | - */ | |
24 | - | |
25 | - | |
26 | -#include <config.h> | |
27 | -#include <version.h> | |
28 | - | |
29 | - | |
30 | -/* some parameters for the board */ | |
31 | -/* setting up the memory */ | |
32 | -#define SRAM_START 0x60000000 | |
33 | -#define SRAM_SIZE 0x0000c000 | |
34 | - | |
35 | -.globl lowlevel_init | |
36 | -lowlevel_init: | |
37 | - mov r0, #0x70 /* 32-bit code + data, MMU mandatory */ | |
38 | - mcr p15, 0, r0, c1, c0, 0 /* MMU init */ | |
39 | - | |
40 | - mov r0, #0 | |
41 | - mcr p15, 0, r0, c7, c7, 0 /* flush v3/v4 cache */ | |
42 | - mcr p15, 0, r0, c8, c7, 0 /* flush v4 TLB */ | |
43 | - | |
44 | - mov r0, #0x80000000 /* I/O base */ | |
45 | - | |
46 | - mov r1, #0x6 /* CLKCTL_73 in SYSCON3 */ | |
47 | - add r2, r0, #0x2200 /* address of SYSCON3 in r2 */ | |
48 | - str r1, [r2] /* set clock speed to 73.728 MHz */ | |
49 | - | |
50 | - mov r1, #0x81 /* 64KHz DRAM refresh period */ | |
51 | - str r1, [r0, #0x200] /* set DRFPR */ | |
52 | - | |
53 | - mov r1, #0x500 /* permanent enable, 16bits wide */ | |
54 | - add r1, r1, #0x42 /* 128Mbit, CAS lat = 2 SDRAM */ | |
55 | - add r2, r0, #0x2300 /* load address in r2 */ | |
56 | - str r1, [r2] | |
57 | - | |
58 | - mov r1, #0x100 /* SDRAM refresh rate */ | |
59 | - add r2, r0, #0x2340 /* load address in r2 */ | |
60 | - str r1, [r2] | |
61 | - | |
62 | - mov sp, #SRAM_START /* init stack pointer */ | |
63 | - add sp, sp, #SRAM_SIZE | |
64 | - | |
65 | - /* everything is fine now */ | |
66 | - mov pc, lr |
boards.cfg
doc/README.scrapyard
... | ... | @@ -11,6 +11,7 @@ |
11 | 11 | |
12 | 12 | Board Arch CPU removed Commit last known maintainer/contact |
13 | 13 | ============================================================================= |
14 | +armadillo arm arm720t - 2011-07-16 Rowel Atienza <rowel@diwalabs.com> | |
14 | 15 | assabet arm sa1100 - 2011-07-16 George G. Davis <gdavis@mvista.com> |
15 | 16 | trab arm S3C2400 - 2011-05-01 Gary Jennejohn <garyj@denx.de> |
16 | 17 | xsengine ARM PXA2xx 4262a7c 2010-10-20 |
include/configs/armadillo.h
1 | -/* | |
2 | - * (C) Copyright 2000 | |
3 | - * Sysgo Real-Time Solutions, GmbH <www.elinos.com> | |
4 | - * Marius Groeger <mgroeger@sysgo.de> | |
5 | - * | |
6 | - * Configuation settings for the EP7312 board. | |
7 | - * | |
8 | - * Modified to work on Armadillo HT1070 ARM720T board | |
9 | - * (C) Copyright 2005 Rowel Atienza rowel@diwalabs.com | |
10 | - * | |
11 | - * See file CREDITS for list of people who contributed to this | |
12 | - * project. | |
13 | - * | |
14 | - * This program is free software; you can redistribute it and/or | |
15 | - * modify it under the terms of the GNU General Public License as | |
16 | - * published by the Free Software Foundation; either version 2 of | |
17 | - * the License, or (at your option) any later version. | |
18 | - * | |
19 | - * This program is distributed in the hope that it will be useful, | |
20 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
21 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
22 | - * GNU General Public License for more details. | |
23 | - * | |
24 | - * You should have received a copy of the GNU General Public License | |
25 | - * along with this program; if not, write to the Free Software | |
26 | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
27 | - * MA 02111-1307 USA | |
28 | - */ | |
29 | - | |
30 | -#ifndef __CONFIG_H | |
31 | -#define __CONFIG_H | |
32 | - | |
33 | -/* | |
34 | - * If we are developing, we might want to start armboot from ram | |
35 | - * so we MUST NOT initialize critical regs like mem-timing ... | |
36 | - */ | |
37 | -#undef CONFIG_SKIP_LOWLEVEL_INIT | |
38 | - | |
39 | -/* | |
40 | - * High Level Configuration Options | |
41 | - * (easy to change) | |
42 | - */ | |
43 | -#define CONFIG_ARM7 1 /* This is a ARM7 CPU */ | |
44 | -#define CONFIG_ARMADILLO 1 /* on an Armadillo Board */ | |
45 | -#define CONFIG_ARM_THUMB 1 /* this is an ARM720TDMI */ | |
46 | -#undef CONFIG_ARM7_REVD /* disable ARM720 REV.D Workarounds */ | |
47 | - | |
48 | -#undef CONFIG_USE_IRQ /* don't need them anymore */ | |
49 | - | |
50 | -/* | |
51 | - * Size of malloc() pool | |
52 | - */ | |
53 | -#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128*1024) | |
54 | - | |
55 | -/* | |
56 | - * Hardware drivers | |
57 | - */ | |
58 | -#define CONFIG_NET_MULTI | |
59 | -#define CONFIG_CS8900 /* we have a CS8900 on-board */ | |
60 | -#define CONFIG_CS8900_BASE 0x20000300 /* armadillo board */ | |
61 | -#define CONFIG_CS8900_BUS16 | |
62 | -#undef CONFIG_CS8900_BUS32 | |
63 | - | |
64 | -/* | |
65 | - * select serial console configuration | |
66 | - */ | |
67 | -#define CONFIG_CLPS7111_SERIAL | |
68 | -#define CONFIG_SERIAL1 1 /* we use Serial line 1 */ | |
69 | - | |
70 | -/* allow to overwrite serial and ethaddr */ | |
71 | -#define CONFIG_ENV_OVERWRITE | |
72 | - | |
73 | -#define CONFIG_BAUDRATE 115200 | |
74 | - | |
75 | -/* | |
76 | - * BOOTP options | |
77 | - */ | |
78 | -#define CONFIG_BOOTP_SUBNETMASK | |
79 | -#define CONFIG_BOOTP_GATEWAY | |
80 | -#define CONFIG_BOOTP_HOSTNAME | |
81 | -#define CONFIG_BOOTP_BOOTPATH | |
82 | -#define CONFIG_BOOTP_BOOTFILESIZE | |
83 | - | |
84 | - | |
85 | -/* | |
86 | - * Command line configuration. | |
87 | - */ | |
88 | -#include <config_cmd_default.h> | |
89 | - | |
90 | - | |
91 | -#define CONFIG_BOOTDELAY 3 | |
92 | -#define CONFIG_BOOTARGS "root=/dev/ram0 rootfstype=ext2 console=ttyAM0,115200" | |
93 | - | |
94 | -#define CONFIG_BOOTCOMMAND "bootm 40000 180000" | |
95 | - | |
96 | -/* | |
97 | - * Miscellaneous configurable options | |
98 | - */ | |
99 | -#define CONFIG_SYS_LONGHELP /* undef to save memory */ | |
100 | -#define CONFIG_SYS_PROMPT "ARMADILLO # " /* Monitor Command Prompt */ | |
101 | -#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ | |
102 | -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */ | |
103 | -#define CONFIG_SYS_MAXARGS 16 /* max number of command args */ | |
104 | -#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ | |
105 | - | |
106 | -#define CONFIG_SYS_MEMTEST_START 0xc0400000 /* memtest works on */ | |
107 | -#define CONFIG_SYS_MEMTEST_END 0xc0800000 /* 4 ... 8 MB in DRAM */ | |
108 | - | |
109 | -#define CONFIG_SYS_LOAD_ADDR 0x00040000 /* default load address for armadillo: kernel img is here*/ | |
110 | - | |
111 | -#define CONFIG_SYS_HZ 2000 /* decrementer freq: 2 kHz */ | |
112 | - | |
113 | - /* valid baudrates */ | |
114 | -#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } | |
115 | - | |
116 | -/*----------------------------------------------------------------------- | |
117 | - * Stack sizes | |
118 | - * | |
119 | - * The stack sizes are set up in start.S using the settings below | |
120 | - */ | |
121 | -#define CONFIG_STACKSIZE (128*1024) /* regular stack */ | |
122 | -#ifdef CONFIG_USE_IRQ | |
123 | -#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ | |
124 | -#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ | |
125 | -#endif | |
126 | - | |
127 | -/*----------------------------------------------------------------------- | |
128 | - * Physical Memory Map | |
129 | - */ | |
130 | -#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ | |
131 | -#define PHYS_SDRAM_1 0xc0000000 /* SDRAM Bank #1 */ | |
132 | -#define PHYS_SDRAM_1_SIZE 0x02000000 /* 32 MB armadillo SDRAM */ | |
133 | - | |
134 | -#define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */ | |
135 | -#define PHYS_FLASH_SIZE 0x00400000 /* 4 MB */ | |
136 | - | |
137 | -#define CONFIG_SYS_FLASH_BASE PHYS_FLASH_1 | |
138 | - | |
139 | -/*----------------------------------------------------------------------- | |
140 | - * FLASH and environment organization | |
141 | - */ | |
142 | -#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ | |
143 | -#define CONFIG_SYS_MAX_FLASH_SECT 512 /* max number of sectors on one chip */ | |
144 | - | |
145 | -/* timeout values are in ticks */ | |
146 | -#define CONFIG_SYS_FLASH_ERASE_TOUT (2*CONFIG_SYS_HZ) /* Timeout for Flash Erase */ | |
147 | -#define CONFIG_SYS_FLASH_WRITE_TOUT (2*CONFIG_SYS_HZ) /* Timeout for Flash Write */ | |
148 | - | |
149 | -#define CONFIG_ENV_IS_IN_FLASH 1 | |
150 | -#define CONFIG_ENV_ADDR (PHYS_FLASH_1 + 0x20000) /* Addr of Environment Sector */ | |
151 | -#define CONFIG_ENV_SIZE 0x20000 /* Total Size of Environment Sector */ | |
152 | - | |
153 | -#define CONFIG_CMDLINE_TAG | |
154 | -#define CONFIG_SETUP_MEMORY_TAGS | |
155 | -#define CONFIG_INITRD_TAG | |
156 | - | |
157 | -#endif /* __CONFIG_H */ |