Commit dee9c534db78d445e5a0b21b34e870afef960dd3

Authored by Stefan Roese
Committed by Tom Rini
1 parent 99bcad1809
Exists in master and in 57 other branches 8qm-imx_v2020.04_5.4.70_2.3.0, emb_lf-6.6.52-2.2.0, emb_lf_v2022.04, emb_lf_v2023.04, emb_lf_v2024.04, imx_v2015.04_4.1.15_1.0.0_ga, pitx_8mp_lf_v2020.04, smarc-8m-android-10.0.0_2.6.0, smarc-8m-android-11.0.0_2.0.0, smarc-8mp-android-11.0.0_2.0.0, smarc-emmc-imx_v2014.04_3.10.53_1.1.0_ga, smarc-emmc-imx_v2014.04_3.14.28_1.0.0_ga, smarc-imx-l5.0.0_1.0.0-ga, smarc-imx6_v2018.03_4.14.98_2.0.0_ga, smarc-imx7_v2017.03_4.9.11_1.0.0_ga, smarc-imx7_v2018.03_4.14.98_2.0.0_ga, smarc-imx_v2014.04_3.14.28_1.0.0_ga, smarc-imx_v2015.04_4.1.15_1.0.0_ga, smarc-imx_v2017.03_4.9.11_1.0.0_ga, smarc-imx_v2017.03_4.9.88_2.0.0_ga, smarc-imx_v2017.03_o8.1.0_1.3.0_8m, smarc-imx_v2018.03_4.14.78_1.0.0_ga, smarc-m6.0.1_2.1.0-ga, smarc-n7.1.2_2.0.0-ga, smarc-rel_imx_4.1.15_2.0.0_ga, smarc_8m-imx_v2018.03_4.14.98_2.0.0_ga, smarc_8m-imx_v2019.04_4.19.35_1.1.0, smarc_8m_00d0-imx_v2018.03_4.14.98_2.0.0_ga, smarc_8mm-imx_v2018.03_4.14.98_2.0.0_ga, smarc_8mm-imx_v2019.04_4.19.35_1.1.0, smarc_8mm-imx_v2020.04_5.4.24_2.1.0, smarc_8mp_lf_v2020.04, smarc_8mq-imx_v2020.04_5.4.24_2.1.0, smarc_8mq_lf_v2020.04, ti-u-boot-2015.07, u-boot-2013.01.y, v2013.10, v2013.10-smarct33, v2013.10-smartmen, v2014.01, v2014.04, v2014.04-smarct33, v2014.04-smarct33-emmc, v2014.04-smartmen, v2014.07, v2014.07-smarct33, v2014.07-smartmen, v2015.07-smarct33, v2015.07-smarct33-emmc, v2015.07-smarct4x, v2016.05-dlt, v2016.05-smarct3x, v2016.05-smarct3x-emmc, v2016.05-smarct4x, v2017.01-smarct3x, v2017.01-smarct3x-emmc, v2017.01-smarct4x

ppc4xx: Remove ML2 board support

As the board seems to be unmaintained for some time, lets remove
the support in mainline completely.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Peter De Schrijver <p2@mind.be>
Acked-by: Marek Vasut <marex@denx.de>

Showing 11 changed files with 1 additions and 1067 deletions Side-by-side Diff

... ... @@ -454,10 +454,6 @@
454 454 uc101 MPC5200
455 455 ve8313 MPC8313
456 456  
457   -Peter De Schrijver <p2@mind.be>
458   -
459   - ML2 PPC4xx
460   -
461 457 Andre Schwarz <andre.schwarz@matrix-vision.de>
462 458  
463 459 mergerbox MPC8377
arch/powerpc/include/asm/ppc4xx.h
... ... @@ -86,7 +86,7 @@
86 86 /*
87 87 * Configure which SDRAM/DDR/DDR2 controller is equipped
88 88 */
89   -#if defined(CONFIG_AP1000) || defined(CONFIG_ML2)
  89 +#if defined(CONFIG_AP1000)
90 90 #define CONFIG_SDRAM_PPC4xx_IBM_SDRAM /* IBM SDRAM controller */
91 91 #endif
92 92  
board/ml2/Makefile
1   -#
2   -# (C) Copyright 2000-2006
3   -# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4   -#
5   -# See file CREDITS for list of people who contributed to this
6   -# project.
7   -#
8   -# This program is free software; you can redistribute it and/or
9   -# modify it under the terms of the GNU General Public License as
10   -# published by the Free Software Foundation; either version 2 of
11   -# the License, or (at your option) any later version.
12   -#
13   -# This program is distributed in the hope that it will be useful,
14   -# but WITHOUT ANY WARRANTY; without even the implied warranty of
15   -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16   -# GNU General Public License for more details.
17   -#
18   -# You should have received a copy of the GNU General Public License
19   -# along with this program; if not, write to the Free Software
20   -# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21   -# MA 02111-1307 USA
22   -#
23   -
24   -include $(TOPDIR)/config.mk
25   -
26   -LIB = $(obj)lib$(BOARD).o
27   -
28   -COBJS = $(BOARD).o flash.o serial.o
29   -SOBJS = init.o
30   -
31   -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
32   -OBJS := $(addprefix $(obj),$(COBJS))
33   -SOBJS := $(addprefix $(obj),$(SOBJS))
34   -
35   -$(LIB): $(OBJS) $(SOBJS)
36   - $(call cmd_link_o_target, $(OBJS) $(SOBJS))
37   -
38   -#########################################################################
39   -
40   -# defines $(obj).depend target
41   -include $(SRCTREE)/rules.mk
42   -
43   -sinclude $(obj).depend
44   -
45   -#########################################################################
board/ml2/flash.c
1   -/*
2   - * flash.c: Support code for the flash chips on the Xilinx ML2 board
3   - *
4   - * Copyright 2002 Mind NV
5   - *
6   - * http://www.mind.be/
7   - *
8   - * Author : Peter De Schrijver (p2@mind.be)
9   - *
10   - * This software may be used and distributed according to the terms of
11   - * the GNU General Public License (GPL) version 2, incorporated herein by
12   - * reference. Drivers based on or derived from this code fall under the GPL
13   - * and must retain the authorship, copyright and this license notice. This
14   - * file is not a complete program and may only be used when the entire program
15   - * is licensed under the GPL.
16   - *
17   - */
18   -
19   -#include <common.h>
20   -#include <asm/u-boot.h>
21   -#include <configs/ML2.h>
22   -
23   -#define FLASH_BANK_SIZE (64*1024*1024)
24   -
25   -flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS];
26   -
27   -#define SECT_SIZE (512*1024)
28   -
29   -#define CMD_READ_ARRAY 0x00FF00FF00FF00FULL
30   -#define CMD_IDENTIFY 0x0090009000900090ULL
31   -#define CMD_ERASE_SETUP 0x0020002000200020ULL
32   -#define CMD_ERASE_CONFIRM 0x00D000D000D000D0ULL
33   -#define CMD_PROGRAM 0x0040004000400040ULL
34   -#define CMD_RESUME 0x00D000D000D000D0ULL
35   -#define CMD_SUSPEND 0x00B000B000B000B0ULL
36   -#define CMD_STATUS_READ 0x0070007000700070ULL
37   -#define CMD_STATUS_RESET 0x0050005000500050ULL
38   -
39   -#define BIT_BUSY 0x0080008000800080ULL
40   -#define BIT_ERASE_SUSPEND 0x004000400400040ULL
41   -#define BIT_ERASE_ERROR 0x0020002000200020ULL
42   -#define BIT_PROGRAM_ERROR 0x0010001000100010ULL
43   -#define BIT_VPP_RANGE_ERROR 0x0008000800080008ULL
44   -#define BIT_PROGRAM_SUSPEND 0x0004000400040004ULL
45   -#define BIT_PROTECT_ERROR 0x0002000200020002ULL
46   -#define BIT_UNDEFINED 0x0001000100010001ULL
47   -
48   -#define BIT_SEQUENCE_ERROR 0x0030003000300030ULL
49   -
50   -#define BIT_TIMEOUT 0x80000000
51   -
52   -
53   -inline void eieio(void) {
54   -
55   - __asm__ __volatile__ ("eieio" : : : "memory");
56   -
57   -}
58   -
59   -ulong flash_init(void) {
60   -
61   - int i, j;
62   - ulong size = 0;
63   -
64   - for(i=0;i<CONFIG_SYS_MAX_FLASH_BANKS;i++) {
65   - ulong flashbase = 0;
66   -
67   - flash_info[i].flash_id = (INTEL_MANUFACT & FLASH_VENDMASK) |
68   - (INTEL_ID_28F128J3A & FLASH_TYPEMASK);
69   - flash_info[i].size = FLASH_BANK_SIZE;
70   - flash_info[i].sector_count = CONFIG_SYS_MAX_FLASH_SECT;
71   - memset(flash_info[i].protect, 0, CONFIG_SYS_MAX_FLASH_SECT);
72   - if (i==0)
73   - flashbase = CONFIG_SYS_FLASH_BASE;
74   - else
75   - panic("configured too many flash banks!\n");
76   - for (j = 0; j < flash_info[i].sector_count; j++)
77   - flash_info[i].start[j]=flashbase + j * SECT_SIZE;
78   -
79   - size += flash_info[i].size;
80   - }
81   -
82   - return size;
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 (INTEL_MANUFACT & FLASH_VENDMASK):
91   - printf("Intel: ");
92   - break;
93   - default:
94   - printf("Unknown Vendor ");
95   - break;
96   - }
97   -
98   - switch (info->flash_id & FLASH_TYPEMASK) {
99   - case (INTEL_ID_28F128J3A & FLASH_TYPEMASK):
100   - printf("4x 28F128J3A (128Mbit)\n");
101   - break;
102   - default:
103   - printf("Unknown Chip Type\n");
104   - break;
105   - }
106   -
107   - printf(" Size: %ld MB in %d Sectors\n", info->size >> 20, info->sector_count);
108   - printf(" Sector Start Addresses:");
109   - for (i = 0; i < info->sector_count; i++) {
110   - if ((i % 5) == 0)
111   - printf("\n ");
112   - printf (" %08lX%s", info->start[i],
113   - info->protect[i] ? " (RO)" : " ");
114   - }
115   - printf ("\n");
116   -}
117   -
118   -int flash_error (unsigned long long code) {
119   -
120   - if (code & BIT_TIMEOUT) {
121   - printf ("Timeout\n");
122   - return ERR_TIMOUT;
123   - }
124   -
125   - if (~code & BIT_BUSY) {
126   - printf ("Busy\n");
127   - return ERR_PROG_ERROR;
128   - }
129   -
130   - if (code & BIT_VPP_RANGE_ERROR) {
131   - printf ("Vpp range error\n");
132   - return ERR_PROG_ERROR;
133   - }
134   -
135   - if (code & BIT_PROTECT_ERROR) {
136   - printf ("Device protect error\n");
137   - return ERR_PROG_ERROR;
138   - }
139   -
140   - if (code & BIT_SEQUENCE_ERROR) {
141   - printf ("Command seqence error\n");
142   - return ERR_PROG_ERROR;
143   - }
144   -
145   - if (code & BIT_ERASE_ERROR) {
146   - printf ("Block erase error\n");
147   - return ERR_PROG_ERROR;
148   - }
149   -
150   - if (code & BIT_PROGRAM_ERROR) {
151   - printf ("Program error\n");
152   - return ERR_PROG_ERROR;
153   - }
154   -
155   - if (code & BIT_ERASE_SUSPEND) {
156   - printf ("Block erase suspended\n");
157   - return ERR_PROG_ERROR;
158   - }
159   -
160   - if (code & BIT_PROGRAM_SUSPEND) {
161   - printf ("Program suspended\n");
162   - return ERR_PROG_ERROR;
163   - }
164   -
165   - return ERR_OK;
166   -
167   -}
168   -
169   -int flash_erase (flash_info_t *info, int s_first, int s_last) {
170   -
171   - int rc = ERR_OK;
172   - int sect;
173   - unsigned long long result;
174   -
175   - if (info->flash_id == FLASH_UNKNOWN)
176   - return ERR_UNKNOWN_FLASH_TYPE;
177   -
178   - if ((s_first < 0) || (s_first > s_last))
179   - return ERR_INVAL;
180   -
181   - if ((info->flash_id & FLASH_VENDMASK) != (INTEL_MANUFACT & FLASH_VENDMASK))
182   - return ERR_UNKNOWN_FLASH_VENDOR;
183   -
184   - for (sect=s_first; sect<=s_last; ++sect)
185   - if (info->protect[sect])
186   - return ERR_PROTECTED;
187   -
188   - for (sect = s_first; sect<=s_last && !ctrlc(); sect++) {
189   - volatile unsigned long long *addr=
190   - (unsigned long long *)(info->start[sect]);
191   -
192   - printf("Erasing sector %2d ... ", sect);
193   -
194   - *addr=CMD_STATUS_RESET;
195   - eieio();
196   - *addr=CMD_ERASE_SETUP;
197   - eieio();
198   - *addr=CMD_ERASE_CONFIRM;
199   - eieio();
200   -
201   - do {
202   - result = *addr;
203   - } while(~result & BIT_BUSY);
204   -
205   - *addr=CMD_READ_ARRAY;
206   -
207   - if ((rc = flash_error(result)) == ERR_OK)
208   - printf("ok.\n");
209   - else
210   - break;
211   - }
212   -
213   - if (ctrlc())
214   - printf("User Interrupt!\n");
215   -
216   - return rc;
217   -}
218   -
219   -static int write_word (flash_info_t *info, ulong dest, unsigned long long data) {
220   -
221   - volatile unsigned long long *addr=(unsigned long long *)dest;
222   - unsigned long long result;
223   - int rc = ERR_OK;
224   -
225   - result = *addr;
226   - if ((result & data) != data)
227   - return ERR_NOT_ERASED;
228   -
229   - *addr=CMD_STATUS_RESET;
230   - eieio();
231   - *addr=CMD_PROGRAM;
232   - eieio();
233   - *addr=data;
234   - eieio();
235   -
236   - do {
237   - result = *addr;
238   - } while(~result & BIT_BUSY);
239   -
240   - *addr=CMD_READ_ARRAY;
241   -
242   - rc = flash_error(result);
243   -
244   - return rc;
245   -
246   -}
247   -
248   -int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt) {
249   -
250   - ulong cp, wp;
251   - unsigned long long data;
252   - int l;
253   - int i,rc;
254   -
255   - wp=(addr & ~7);
256   -
257   - if((l=addr-wp) != 0) {
258   - data=0;
259   - for(i=0,cp=wp;i<l;++i,++cp)
260   - data = (data >> 8) | (*(uchar *)cp << 24);
261   -
262   - for (; i<8 && cnt>0; ++i) {
263   - data = (data >> 8) | (*src++ << 24);
264   - --cnt;
265   - ++cp;
266   - }
267   -
268   - for (; i<8; ++i, ++cp)
269   - data = (data >> 8) | (*(uchar *)cp << 24);
270   -
271   - if ((rc = write_word(info, wp, data)) != 0)
272   - return rc;
273   -
274   - wp+=8;
275   - }
276   -
277   - while(cnt>=8) {
278   - data = *((unsigned long long *)src);
279   - if ((rc = write_word(info, wp, data)) != 0)
280   - return rc;
281   - src+=8;
282   - wp+=8;
283   - cnt-=8;
284   - }
285   -
286   - if(cnt == 0)
287   - return ERR_OK;
288   -
289   - data = 0;
290   - for (i=0, cp=wp; i<8 && cnt>0; ++i, ++cp) {
291   - data = (data >> 8) | (*src++ << 24);
292   - --cnt;
293   - }
294   - for (; i<8; ++i, ++cp) {
295   - data = (data >> 8) | (*(uchar *)cp << 24);
296   - }
297   -
298   - return write_word(info, wp, data);
299   -
300   -}
board/ml2/init.S
1   -/*
2   - * init.S: Stubs for U-Boot initialization
3   - *
4   - * Copyright 2002 Mind NV
5   - *
6   - * http://www.mind.be/
7   - *
8   - * Author : Peter De Schrijver (p2@mind.be)
9   - *
10   - * This software may be used and distributed according to the terms of
11   - * the GNU General Public License (GPL) version 2, incorporated herein by
12   - * reference. Drivers based on or derived from this code fall under the GPL
13   - * and must retain the authorship, copyright and this license notice. This
14   - * file is not a complete program and may only be used when the entire
15   - * program is licensed under the GPL.
16   - *
17   - */
18   -
19   -#include <asm/ppc4xx.h>
20   -
21   -#include <ppc_asm.tmpl>
22   -#include <ppc_defs.h>
23   -
24   -#include <asm/cache.h>
25   -#include <asm/mmu.h>
26   -
27   -
28   - .globl ext_bus_cntlr_init
29   -ext_bus_cntlr_init:
30   - blr
board/ml2/ml2.c
1   -/*
2   - * ml2.c: U-Boot platform support for Xilinx ML2 board
3   - *
4   - * Copyright 2002 Mind NV
5   - *
6   - * http://www.mind.be/
7   - *
8   - * Author : Peter De Schrijver (p2@mind.be)
9   - *
10   - * Derived from : Other platform support files in this tree
11   - *
12   - * This software may be used and distributed according to the terms of
13   - * the GNU General Public License (GPL) version 2, incorporated herein by
14   - * reference. Drivers based on or derived from this code fall under the GPL
15   - * and must retain the authorship, copyright and this license notice. This
16   - * file is not a complete program and may only be used when the entire
17   - * program is licensed under the GPL.
18   - *
19   - */
20   -
21   -#include <common.h>
22   -#include <asm/processor.h>
23   -
24   -
25   -int board_early_init_f (void)
26   -{
27   - return 0;
28   -}
29   -
30   -
31   -int checkboard (void)
32   -{
33   - char buf[64];
34   - int i;
35   - int l = getenv_f("serial#", buf, sizeof(buf));
36   -
37   - if (l < 0 || strncmp(buf, "ML2", 9)) {
38   - printf ("### No HW ID - assuming ML2");
39   - } else {
40   - for (i = 0; i < l; i++) {
41   - if (buf[i] == ' ')
42   - break;
43   - putc(buf[i]);
44   - }
45   - }
46   - putc ('\n');
47   -
48   - return (0);
49   -}
50   -
51   -
52   -phys_size_t initdram (int board_type)
53   -{
54   - return 32 * 1024 * 1024;
55   -}
56   -
57   -int testdram (void)
58   -{
59   - printf ("test: xxx MB - ok\n");
60   -
61   - return (0);
62   -}
board/ml2/serial.c
1   -/*
2   - * (C) Copyright 2002
3   - * Peter De Schrijver (p2@mind.be), Mind Linux Solutions, NV.
4   - *
5   - * This program is free software; you can redistribute it and/or
6   - * modify it under the terms of the GNU General Public License as
7   - * published by the Free Software Foundation; either version 2 of
8   - * the License, or (at your option) any later version.
9   - *
10   - * This program is distributed in the hope that it will be useful,
11   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13   - * GNU General Public License for more details.
14   - *
15   - * You should have received a copy of the GNU General Public License
16   - * along with this program; if not, write to the Free Software
17   - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
18   - * MA 02111-1307 USA
19   - *
20   - */
21   -
22   -#include <common.h>
23   -#include <asm/u-boot.h>
24   -#include <asm/processor.h>
25   -#include <command.h>
26   -#include <configs/ML2.h>
27   -#include <serial.h>
28   -#include <linux/compiler.h>
29   -
30   -#if (defined CONFIG_SYS_INIT_CHAN1) || (defined CONFIG_SYS_INIT_CHAN2)
31   -#include <ns16550.h>
32   -#endif
33   -
34   -DECLARE_GLOBAL_DATA_PTR;
35   -
36   -#if (defined CONFIG_SYS_INIT_CHAN1) || (defined CONFIG_SYS_INIT_CHAN2)
37   -const NS16550_t COM_PORTS[] = { (NS16550_t) CONFIG_SYS_NS16550_COM1,
38   - (NS16550_t) CONFIG_SYS_NS16550_COM2
39   -};
40   -#endif
41   -
42   -static int ml2_serial_init(void)
43   -{
44   - int clock_divisor = CONFIG_SYS_NS16550_CLK / 16 / gd->baudrate;
45   -
46   -#ifdef CONFIG_SYS_INIT_CHAN1
47   - (void) NS16550_init (COM_PORTS[0], clock_divisor);
48   -#endif
49   -#ifdef CONFIG_SYS_INIT_CHAN2
50   - (void) NS16550_init (COM_PORTS[1], clock_divisor);
51   -#endif
52   - return 0;
53   -
54   -}
55   -
56   -static void ml2_serial_putc(const char c)
57   -{
58   - if (c == '\n')
59   - NS16550_putc (COM_PORTS[CONFIG_SYS_DUART_CHAN], '\r');
60   -
61   - NS16550_putc (COM_PORTS[CONFIG_SYS_DUART_CHAN], c);
62   -}
63   -
64   -static int ml2_serial_getc(void)
65   -{
66   - return NS16550_getc (COM_PORTS[CONFIG_SYS_DUART_CHAN]);
67   -}
68   -
69   -static int ml2_serial_tstc(void)
70   -{
71   - return NS16550_tstc (COM_PORTS[CONFIG_SYS_DUART_CHAN]);
72   -}
73   -
74   -static void ml2_serial_setbrg(void)
75   -{
76   - int clock_divisor = CONFIG_SYS_NS16550_CLK / 16 / gd->baudrate;
77   -
78   -#ifdef CONFIG_SYS_INIT_CHAN1
79   - NS16550_reinit (COM_PORTS[0], clock_divisor);
80   -#endif
81   -#ifdef CONFIG_SYS_INIT_CHAN2
82   - NS16550_reinit (COM_PORTS[1], clock_divisor);
83   -#endif
84   -}
85   -
86   -static void ml2_serial_puts(const char *s)
87   -{
88   - while (*s) {
89   - serial_putc (*s++);
90   - }
91   -}
92   -
93   -static struct serial_device ml2_serial_drv = {
94   - .name = "ml2_serial",
95   - .start = ml2_serial_init,
96   - .stop = NULL,
97   - .setbrg = ml2_serial_setbrg,
98   - .putc = ml2_serial_putc,
99   - .puts = ml2_serial_puts,
100   - .getc = ml2_serial_getc,
101   - .tstc = ml2_serial_tstc,
102   -};
103   -
104   -void ml2_serial_initialize(void)
105   -{
106   - serial_register(&ml2_serial_drv);
107   -}
108   -
109   -__weak struct serial_device *default_serial_console(void)
110   -{
111   - return &ml2_serial_drv;
112   -}
113   -
114   -#if defined(CONFIG_CMD_KGDB)
115   -void kgdb_serial_init (void)
116   -{
117   -}
118   -
119   -void putDebugChar (int c)
120   -{
121   - serial_putc (c);
122   -}
123   -
124   -void putDebugStr (const char *str)
125   -{
126   - serial_puts (str);
127   -}
128   -
129   -int getDebugChar (void)
130   -{
131   - return serial_getc ();
132   -}
133   -
134   -void kgdb_interruptible (int yes)
135   -{
136   - return;
137   -}
138   -#endif
board/ml2/u-boot.lds
1   -/*
2   - * (C) Copyright 2000
3   - * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4   - *
5   - * See file CREDITS for list of people who contributed to this
6   - * project.
7   - *
8   - * This program is free software; you can redistribute it and/or
9   - * modify it under the terms of the GNU General Public License as
10   - * published by the Free Software Foundation; either version 2 of
11   - * the License, or (at your option) any later version.
12   - *
13   - * This program is distributed in the hope that it will be useful,
14   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
15   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16   - * GNU General Public License for more details.
17   - *
18   - * You should have received a copy of the GNU General Public License
19   - * along with this program; if not, write to the Free Software
20   - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21   - * MA 02111-1307 USA
22   - */
23   -
24   -OUTPUT_ARCH(powerpc)
25   -
26   -SECTIONS
27   -{
28   - /* Read-only sections, merged into text segment: */
29   - . = + SIZEOF_HEADERS;
30   - .text :
31   - {
32   - *(.text*)
33   - }
34   - _etext = .;
35   - PROVIDE (etext = .);
36   - .rodata :
37   - {
38   - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
39   - }
40   -
41   - /* Read-write section, merged into data segment: */
42   - . = (. + 0x00FF) & 0xFFFFFF00;
43   - _erotext = .;
44   - PROVIDE (erotext = .);
45   - .reloc :
46   - {
47   - _GOT2_TABLE_ = .;
48   - KEEP(*(.got2))
49   - KEEP(*(.got))
50   - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
51   - _FIXUP_TABLE_ = .;
52   - KEEP(*(.fixup))
53   - }
54   - __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
55   - __fixup_entries = (. - _FIXUP_TABLE_)>>2;
56   -
57   - .data :
58   - {
59   - *(.data*)
60   - *(.sdata*)
61   - CONSTRUCTORS
62   - }
63   - _edata = .;
64   - PROVIDE (edata = .);
65   -
66   - . = .;
67   - __u_boot_cmd_start = .;
68   - .u_boot_cmd : { *(.u_boot_cmd) }
69   - __u_boot_cmd_end = .;
70   -
71   -
72   - . = .;
73   - __start___ex_table = .;
74   - __ex_table : { *(__ex_table) }
75   - __stop___ex_table = .;
76   -
77   - . = ALIGN(256);
78   - __init_begin = .;
79   - .text.init : { *(.text.init) }
80   - .data.init : { *(.data.init) }
81   - . = ALIGN(256);
82   - __init_end = .;
83   -
84   - __bss_start = .;
85   - .bss (NOLOAD) :
86   - {
87   - *(.bss*)
88   - *(.sbss*)
89   - *(COMMON)
90   - . = ALIGN(4);
91   - }
92   - __bss_end__ = . ;
93   - PROVIDE (end = .);
94   -}
board/ml2/u-boot.lds.debug
1   -/*
2   - * (C) Copyright 2000
3   - * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4   - *
5   - * See file CREDITS for list of people who contributed to this
6   - * project.
7   - *
8   - * This program is free software; you can redistribute it and/or
9   - * modify it under the terms of the GNU General Public License as
10   - * published by the Free Software Foundation; either version 2 of
11   - * the License, or (at your option) any later version.
12   - *
13   - * This program is distributed in the hope that it will be useful,
14   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
15   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16   - * GNU General Public License for more details.
17   - *
18   - * You should have received a copy of the GNU General Public License
19   - * along with this program; if not, write to the Free Software
20   - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21   - * MA 02111-1307 USA
22   - */
23   -
24   -OUTPUT_ARCH(powerpc)
25   -/* Do we need any of these for elf?
26   - __DYNAMIC = 0; */
27   -SECTIONS
28   -{
29   - /* Read-only sections, merged into text segment: */
30   - . = + SIZEOF_HEADERS;
31   - .interp : { *(.interp) }
32   - .hash : { *(.hash) }
33   - .dynsym : { *(.dynsym) }
34   - .dynstr : { *(.dynstr) }
35   - .rel.text : { *(.rel.text) }
36   - .rela.text : { *(.rela.text) }
37   - .rel.data : { *(.rel.data) }
38   - .rela.data : { *(.rela.data) }
39   - .rel.rodata : { *(.rel.rodata) }
40   - .rela.rodata : { *(.rela.rodata) }
41   - .rel.got : { *(.rel.got) }
42   - .rela.got : { *(.rela.got) }
43   - .rel.ctors : { *(.rel.ctors) }
44   - .rela.ctors : { *(.rela.ctors) }
45   - .rel.dtors : { *(.rel.dtors) }
46   - .rela.dtors : { *(.rela.dtors) }
47   - .rel.bss : { *(.rel.bss) }
48   - .rela.bss : { *(.rela.bss) }
49   - .rel.plt : { *(.rel.plt) }
50   - .rela.plt : { *(.rela.plt) }
51   - .init : { *(.init) }
52   - .plt : { *(.plt) }
53   - .text :
54   - {
55   - /* WARNING - the following is hand-optimized to fit within */
56   - /* the sector layout of our flash chips! XXX FIXME XXX */
57   -
58   - mpc8xx/start.o (.text)
59   - common/dlmalloc.o (.text)
60   - lib/vsprintf.o (.text)
61   - lib/crc32.o (.text)
62   - arch/powerpc/lib/extable.o (.text)
63   -
64   - common/env_embedded.o(.text)
65   -
66   - *(.text)
67   - *(.got1)
68   - }
69   - _etext = .;
70   - PROVIDE (etext = .);
71   - .rodata :
72   - {
73   - *(.rodata)
74   - *(.rodata1)
75   - *(.rodata.str1.4)
76   - *(.eh_frame)
77   - }
78   - .fini : { *(.fini) } =0
79   - .ctors : { *(.ctors) }
80   - .dtors : { *(.dtors) }
81   -
82   - /* Read-write section, merged into data segment: */
83   - . = (. + 0x0FFF) & 0xFFFFF000;
84   - _erotext = .;
85   - PROVIDE (erotext = .);
86   - .reloc :
87   - {
88   - *(.got)
89   - _GOT2_TABLE_ = .;
90   - *(.got2)
91   - _FIXUP_TABLE_ = .;
92   - *(.fixup)
93   - }
94   - __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
95   - __fixup_entries = (. - _FIXUP_TABLE_)>>2;
96   -
97   - .data :
98   - {
99   - *(.data)
100   - *(.data1)
101   - *(.sdata)
102   - *(.sdata2)
103   - *(.dynamic)
104   - CONSTRUCTORS
105   - }
106   - _edata = .;
107   - PROVIDE (edata = .);
108   -
109   - __u_boot_cmd_start = .;
110   - .u_boot_cmd : { *(.u_boot_cmd) }
111   - __u_boot_cmd_end = .;
112   -
113   -
114   - __start___ex_table = .;
115   - __ex_table : { *(__ex_table) }
116   - __stop___ex_table = .;
117   -
118   - . = ALIGN(4096);
119   - __init_begin = .;
120   - .text.init : { *(.text.init) }
121   - .data.init : { *(.data.init) }
122   - . = ALIGN(4096);
123   - __init_end = .;
124   -
125   - __bss_start = .;
126   - .bss :
127   - {
128   - *(.sbss) *(.scommon)
129   - *(.dynbss)
130   - *(.bss)
131   - *(COMMON)
132   - }
133   - __bss_end__ = . ;
134   - PROVIDE (end = .);
135   -}
... ... @@ -956,7 +956,6 @@
956 956 korat powerpc ppc4xx
957 957 korat_perm powerpc ppc4xx korat - - korat:KORAT_PERMANENT
958 958 lwmon5 powerpc ppc4xx
959   -ML2 powerpc ppc4xx ml2
960 959 pcs440ep powerpc ppc4xx
961 960 quad100hd powerpc ppc4xx
962 961 sbc405 powerpc ppc4xx
include/configs/ML2.h
1   -/*
2   - * ML2.h: ML2 specific config options
3   - *
4   - * Copyright 2002 Mind NV
5   - *
6   - * http://www.mind.be/
7   - *
8   - * Author : Peter De Schrijver (p2@mind.be)
9   - *
10   - * Derived from : other configuration header files in this tree
11   - *
12   - * This software may be used and distributed according to the terms of
13   - * the GNU General Public License (GPL) version 2, incorporated herein by
14   - * reference. Drivers based on or derived from this code fall under the GPL
15   - * and must retain the authorship, copyright and this license notice. This
16   - * file is not a complete program and may only be used when the entire
17   - * program is licensed under the GPL.
18   - *
19   - */
20   -
21   -#ifndef __CONFIG_H
22   -#define __CONFIG_H
23   -
24   -/*
25   - * High Level Configuration Options
26   - * (easy to change)
27   - */
28   -
29   -#define CONFIG_405 1 /* This is a PPC405 CPU */
30   -#define CONFIG_4xx 1 /* ...member of PPC4xx family */
31   -#define CONFIG_ML2 1 /* ...on a ML2 board */
32   -
33   -#define CONFIG_SYS_TEXT_BASE 0x18000000
34   -#define CONFIG_SYS_LDSCRIPT "board/ml2/u-boot.lds"
35   -
36   -#define CONFIG_ENV_IS_IN_FLASH 1
37   -
38   -#ifdef CONFIG_ENV_IS_IN_NVRAM
39   -#undef CONFIG_ENV_IS_IN_FLASH
40   -#else
41   -#ifdef CONFIG_ENV_IS_IN_FLASH
42   -#undef CONFIG_ENV_IS_IN_NVRAM
43   -#endif
44   -#endif
45   -
46   -#define CONFIG_BAUDRATE 9600
47   -#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
48   -
49   -#if 1
50   -#define CONFIG_BOOTCOMMAND "bootm" /* autoboot command */
51   -#else
52   -#define CONFIG_BOOTCOMMAND "bootp" /* autoboot command */
53   -#endif
54   -
55   -#define CONFIG_PREBOOT "fsload 0x00100000 /boot/image"
56   -
57   -#if 0
58   -#define CONFIG_BOOTARGS "root=/dev/nfs " \
59   - "ip=192.168.2.176:192.168.2.190:192.168.2.79:255.255.255.0 " \
60   - "nfsroot=192.168.2.190:/home/stefan/cpci405/target_ftest4"
61   -#else
62   -#define CONFIG_BOOTARGS "root=/dev/mtdblock2 " \
63   - "console=ttyS0 console=tty"
64   -
65   -#endif
66   -
67   -#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
68   -#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
69   -
70   -
71   -/*
72   - * BOOTP options
73   - */
74   -#define CONFIG_BOOTP_BOOTFILESIZE
75   -#define CONFIG_BOOTP_BOOTPATH
76   -#define CONFIG_BOOTP_GATEWAY
77   -#define CONFIG_BOOTP_HOSTNAME
78   -
79   -
80   -/*
81   - * Command line configuration.
82   - */
83   -#include <config_cmd_default.h>
84   -
85   -#define CONFIG_CMD_IRQ
86   -#define CONFIG_CMD_KGDB
87   -#define CONFIG_CMD_BEDBUG
88   -#define CONFIG_CMD_ELF
89   -#define CONFIG_CMD_JFFS2
90   -
91   -#undef CONFIG_CMD_NET
92   -#undef CONFIG_CMD_NFS
93   -#undef CONFIG_CMD_RTC
94   -#undef CONFIG_CMD_PCI
95   -#undef CONFIG_CMD_I2C
96   -
97   -
98   -#undef CONFIG_WATCHDOG /* watchdog disabled */
99   -
100   -#define CONFIG_SYS_CLK_FREQ 50000000
101   -
102   -#define CONFIG_SPD_EEPROM 1 /* use SPD EEPROM for setup */
103   -
104   -/*
105   - * I2C
106   - */
107   -#define CONFIG_HARD_I2C /* I2C with hardware support */
108   -#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
109   -#define CONFIG_SYS_I2C_SLAVE 0x7F
110   -#define CONFIG_SYS_I2C_SPEED 400000
111   -
112   -/*
113   - * Miscellaneous configurable options
114   - */
115   -#define CONFIG_SYS_LONGHELP /* undef to save memory */
116   -#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
117   -#if defined(CONFIG_CMD_KGDB)
118   -#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
119   -#else
120   -#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
121   -#endif
122   -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
123   -#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
124   -#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
125   -
126   -#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
127   -#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
128   -
129   -/*
130   - * If CONFIG_SYS_EXT_SERIAL_CLOCK, then the UART divisor is 1.
131   - * If CONFIG_SYS_405_UART_ERRATA_59, then UART divisor is 31.
132   - * Otherwise, UART divisor is determined by CPU Clock and CONFIG_SYS_BASE_BAUD value.
133   - * The Linux BASE_BAUD define should match this configuration.
134   - * baseBaud = cpuClock/(uartDivisor*16)
135   - * If CONFIG_SYS_405_UART_ERRATA_59 and 200MHz CPU clock,
136   - * set Linux BASE_BAUD to 403200.
137   - */
138   -#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* external serial clock */
139   -#undef CONFIG_SYS_405_UART_ERRATA_59 /* 405GP/CR Rev. D silicon */
140   -
141   -#define CONFIG_SYS_BASE_BAUD (3125000*16)
142   -#define CONFIG_SYS_NS16550_CLK CONFIG_SYS_BASE_BAUD
143   -#define CONFIG_SYS_DUART_CHAN 0
144   -#define CONFIG_SYS_NS16550_COM1 0xa0001003
145   -#define CONFIG_SYS_NS16550_COM2 0xa0011003
146   -#define CONFIG_SYS_NS16550_REG_SIZE -4
147   -#define CONFIG_SYS_NS16550 1
148   -#define CONFIG_SYS_INIT_CHAN1 1
149   -#define CONFIG_SYS_INIT_CHAN2 1
150   -
151   -/* The following table includes the supported baudrates */
152   -#define CONFIG_SYS_BAUDRATE_TABLE \
153   - {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
154   -
155   -#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
156   -#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
157   -
158   -#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
159   -
160   -
161   -/*-----------------------------------------------------------------------
162   - * Start addresses for the final memory configuration
163   - * (Set up by the startup code)
164   - * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
165   - */
166   -#define CONFIG_SYS_SDRAM_BASE 0x00000000
167   -#define CONFIG_SYS_FLASH_BASE 0x18000000
168   -#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
169   -#define CONFIG_SYS_MONITOR_LEN (192 * 1024) /* Reserve 196 kB for Monitor */
170   -#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
171   -
172   -/*
173   - * For booting Linux, the board info and command line data
174   - * have to be in the first 8 MB of memory, since this is
175   - * the maximum mapped by the Linux kernel during initialization.
176   - */
177   -#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
178   -/*-----------------------------------------------------------------------
179   - * FLASH organization
180   - */
181   -#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
182   -#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
183   -
184   -#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
185   -#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
186   -
187   -/* BEG ENVIRONNEMENT FLASH */
188   -#ifdef CONFIG_ENV_IS_IN_FLASH
189   -#define CONFIG_ENV_OFFSET 0x00050000 /* Offset of Environment Sector */
190   -#define CONFIG_ENV_SIZE 0x10000 /* Total Size of Environment Sector */
191   -#define CONFIG_ENV_SECT_SIZE 0x10000 /* see README - env sector total size */
192   -#endif
193   -/* END ENVIRONNEMENT FLASH */
194   -/*-----------------------------------------------------------------------
195   - * NVRAM organization
196   - */
197   -#define CONFIG_SYS_NVRAM_BASE_ADDR 0xf0000000 /* NVRAM base address */
198   -#define CONFIG_SYS_NVRAM_SIZE 0x1ff8 /* NVRAM size */
199   -
200   -#ifdef CONFIG_ENV_IS_IN_NVRAM
201   -#define CONFIG_ENV_SIZE 0x1000 /* Size of Environment vars */
202   -#define CONFIG_ENV_ADDR \
203   - (CONFIG_SYS_NVRAM_BASE_ADDR+CONFIG_SYS_NVRAM_SIZE-CONFIG_ENV_SIZE) /* Env */
204   -#endif
205   -
206   -/*
207   - * Init Memory Controller:
208   - *
209   - * BR0/1 and OR0/1 (FLASH)
210   - */
211   -
212   -#define FLASH_BASE0_PRELIM CONFIG_SYS_FLASH_BASE /* FLASH bank #0 */
213   -#define FLASH_BASE1_PRELIM 0 /* FLASH bank #1 */
214   -
215   -
216   -/* Configuration Port location */
217   -#define CONFIG_PORT_ADDR 0xF0000500
218   -
219   -/*-----------------------------------------------------------------------
220   - * Definitions for initial stack pointer and data area (in DPRAM)
221   - */
222   -
223   -#define CONFIG_SYS_INIT_RAM_ADDR 0x800000 /* inside of SDRAM */
224   -#define CONFIG_SYS_INIT_RAM_SIZE 0x2000 /* Size of used area in RAM */
225   -#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
226   -#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
227   -
228   -/*-----------------------------------------------------------------------
229   - * Definitions for Serial Presence Detect EEPROM address
230   - * (to get SDRAM settings)
231   - */
232   -#define SPD_EEPROM_ADDRESS 0x50
233   -
234   -#if defined(CONFIG_CMD_KGDB)
235   -#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */
236   -#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
237   -#endif
238   -
239   -/*
240   - * JFFS2 partitions
241   - *
242   - */
243   -/* No command line, one static partition, whole device */
244   -#undef CONFIG_CMD_MTDPARTS
245   -#define CONFIG_JFFS2_DEV "nor0"
246   -#define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF
247   -#define CONFIG_JFFS2_PART_OFFSET 0x00080000
248   -
249   -/* mtdparts command line support */
250   -/* Note: fake mtd_id used, no linux mtd map file */
251   -/*
252   -#define CONFIG_CMD_MTDPARTS
253   -#define MTDIDS_DEFAULT "nor0=ml2-0"
254   -#define MTDPARTS_DEFAULT "mtdparts=ml2-0:-@512k(jffs2)"
255   -*/
256   -
257   -#endif /* __CONFIG_H */