OpenCores
URL https://opencores.org/ocsvn/de1_olpcl2294_system/de1_olpcl2294_system/trunk

Subversion Repositories de1_olpcl2294_system

[/] [de1_olpcl2294_system/] [trunk/] [sw/] [ecos/] [ecos-3.0_diff.txt] - Blame information for rev 10

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/cdl/de1_olpcl2294_eth_drivers.cdl ../ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/cdl/de1_olpcl2294_eth_drivers.cdl
2
--- /opt/ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/cdl/de1_olpcl2294_eth_drivers.cdl    1969-12-31 16:00:00.000000000 -0800
3
+++ ../ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/cdl/de1_olpcl2294_eth_drivers.cdl      2010-10-07 16:54:30.023380600 -0700
4
@@ -0,0 +1,112 @@
5
+# ====================================================================
6
+#
7
+#      de1_olpcl2294_eth_drivers.cdl
8
+#
9
+#      Ethernet drivers - platform dependent support for DE1_OLPCL2294
10
+#
11
+# ====================================================================
12
+## ####ECOSGPLCOPYRIGHTBEGIN####
13
+## -------------------------------------------
14
+## This file is part of eCos, the Embedded Configurable Operating System.
15
+## Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, Inc.
16
+##
17
+## eCos is free software; you can redistribute it and/or modify it under
18
+## the terms of the GNU General Public License as published by the Free
19
+## Software Foundation; either version 2 or (at your option) any later
20
+## version.
21
+##
22
+## eCos is distributed in the hope that it will be useful, but WITHOUT
23
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
24
+## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
25
+## for more details.
26
+##
27
+## You should have received a copy of the GNU General Public License
28
+## along with eCos; if not, write to the Free Software Foundation, Inc.,
29
+## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
30
+##
31
+## As a special exception, if other files instantiate templates or use
32
+## macros or inline functions from this file, or you compile this file
33
+## and link it with other works to produce a work based on this file,
34
+## this file does not by itself cause the resulting work to be covered by
35
+## the GNU General Public License. However the source code for this file
36
+## must still be made available in accordance with section (3) of the GNU
37
+## General Public License v2.
38
+##
39
+## This exception does not invalidate any other reasons why a work based
40
+## on this file might be covered by the GNU General Public License.
41
+## -------------------------------------------
42
+## ####ECOSGPLCOPYRIGHTEND####
43
+# ====================================================================
44
+######DESCRIPTIONBEGIN####
45
+#
46
+# Author(s):      Sergei Gavrikov
47
+# Contributors:   Sergei Gavrikov
48
+# Date:           2008-08-31
49
+#
50
+#####DESCRIPTIONEND####
51
+#
52
+# ====================================================================
53
+
54
+cdl_package CYGPKG_DEVS_ETH_ARM_DE1_OLPCL2294 {
55
+    display       "LAN ethernet driver for Olimex LPC-L2294-1MB"
56
+
57
+    parent        CYGPKG_IO_ETH_DRIVERS
58
+    active_if     CYGPKG_IO_ETH_DRIVERS
59
+    active_if     CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294
60
+
61
+   include_dir   cyg/io
62
+
63
+    description   "
64
+        Ethernet driver for Olimex LPC-L2294-1MB board."
65
+
66
+    # FIXME: This really belongs in the CL CS8900A package
67
+    cdl_interface CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED {
68
+        display   "Cirrus Logic CS8900A ethernet driver required"
69
+    }
70
+
71
+    define_proc {
72
+        puts $::cdl_system_header "/***** ethernet driver proc output start *****/"
73
+        puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_CL_CS8900A_INL "
74
+        puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_CL_CS8900A_CFG "
75
+        puts $::cdl_system_header "/*****  ethernet driver proc output end  *****/"
76
+    }
77
+
78
+   cdl_component CYGPKG_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0 {
79
+        display       "DE1_OLPCL2294 ethernet port driver"
80
+        flavor        bool
81
+        default_value 1
82
+        description   "
83
+            This option includes the ethernet device driver for the
84
+            DE1_OLPCL2294 port."
85
+
86
+        implements CYGHWR_NET_DRIVER_ETH0
87
+        implements CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED
88
+
89
+        cdl_option CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_NAME {
90
+            display       "Device name for the ETH0 ethernet driver"
91
+            flavor        data
92
+            default_value {"\"eth0\""}
93
+            description   "
94
+                This option sets the name of the ethernet device."
95
+        }
96
+
97
+        cdl_component CYGSEM_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_SET_ESA {
98
+            display       "Set the ethernet station address"
99
+            flavor        bool
100
+            calculated    1
101
+            description   "
102
+                Enabling this option will allow the ethernet
103
+                station address to be forced to the value set by the
104
+                configuration.  This may be required if the hardware
105
+                does not include a serial EEPROM for the ESA."
106
+
107
+            cdl_option CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_ESA {
108
+                display       "The ethernet station address"
109
+                flavor        data
110
+                default_value {"{0x08, 0x88, 0x12, 0x34, 0x56, 0x78}"}
111
+                description   "The ethernet station address"
112
+            }
113
+        }
114
+    }
115
+}
116
+
117
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.h ../ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.h
118
--- /opt/ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.h 1969-12-31 16:00:00.000000000 -0800
119
+++ ../ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.h   2010-10-07 16:53:16.900252600 -0700
120
@@ -0,0 +1,57 @@
121
+#ifndef _CYGONCE_DEVS_ETH_ARM_DE1_OLPCL2294_H
122
+#define _CYGONCE_DEVS_ETH_ARM_DE1_OLPCL2294_H
123
+//==========================================================================
124
+//
125
+//      devs_eth_arm_de1_olpcl2294.h
126
+//
127
+//      DE1_OLPCL2294 ethernet configuration
128
+//
129
+//==========================================================================
130
+// ####ECOSGPLCOPYRIGHTBEGIN####
131
+// -------------------------------------------
132
+// This file is part of eCos, the Embedded Configurable Operating System.
133
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, Inc.
134
+//
135
+// eCos is free software; you can redistribute it and/or modify it under
136
+// the terms of the GNU General Public License as published by the Free
137
+// Software Foundation; either version 2 or (at your option) any later
138
+// version.
139
+//
140
+// eCos is distributed in the hope that it will be useful, but WITHOUT
141
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
142
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
143
+// for more details.
144
+//
145
+// You should have received a copy of the GNU General Public License
146
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
147
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
148
+//
149
+// As a special exception, if other files instantiate templates or use
150
+// macros or inline functions from this file, or you compile this file
151
+// and link it with other works to produce a work based on this file,
152
+// this file does not by itself cause the resulting work to be covered by
153
+// the GNU General Public License. However the source code for this file
154
+// must still be made available in accordance with section (3) of the GNU
155
+// General Public License v2.
156
+//
157
+// This exception does not invalidate any other reasons why a work based
158
+// on this file might be covered by the GNU General Public License.
159
+// -------------------------------------------
160
+// ####ECOSGPLCOPYRIGHTEND####
161
+//==========================================================================
162
+//#####DESCRIPTIONBEGIN####
163
+//
164
+// Author(s):     Sergei Gavrikov
165
+// Contributors:  Sergei Gavrikov
166
+// Date:          2008-08-31
167
+// Purpose:       DE1_OLPCL2294 ethernet configuration
168
+// Description:
169
+//
170
+//####DESCRIPTIONEND####
171
+//
172
+//========================================================================*/
173
+
174
+
175
+#endif // _CYGONCE_DEVS_ETH_ARM_DE1_OLPCL2294_H
176
+//--------------------------------------------------------------------------
177
+// EOF devs_eth_arm_de1_olpcl2294.h
178
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.inl ../ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.inl
179
--- /opt/ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.inl       1969-12-31 16:00:00.000000000 -0800
180
+++ ../ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.inl 2010-10-07 16:52:25.979681200 -0700
181
@@ -0,0 +1,169 @@
182
+//==========================================================================
183
+//
184
+//      devs_eth_arm_olpcl2294.inl
185
+//
186
+//      DE1_OLPCL2294 ethernet I/O definitions
187
+//
188
+//==========================================================================
189
+// ####ECOSGPLCOPYRIGHTBEGIN####
190
+// -------------------------------------------
191
+// This file is part of eCos, the Embedded Configurable Operating System.
192
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, Inc.
193
+//
194
+// eCos is free software; you can redistribute it and/or modify it under
195
+// the terms of the GNU General Public License as published by the Free
196
+// Software Foundation; either version 2 or (at your option) any later
197
+// version.
198
+//
199
+// eCos is distributed in the hope that it will be useful, but WITHOUT
200
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
201
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
202
+// for more details.
203
+//
204
+// You should have received a copy of the GNU General Public License
205
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
206
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
207
+//
208
+// As a special exception, if other files instantiate templates or use
209
+// macros or inline functions from this file, or you compile this file
210
+// and link it with other works to produce a work based on this file,
211
+// this file does not by itself cause the resulting work to be covered by
212
+// the GNU General Public License. However the source code for this file
213
+// must still be made available in accordance with section (3) of the GNU
214
+// General Public License v2.
215
+//
216
+// This exception does not invalidate any other reasons why a work based
217
+// on this file might be covered by the GNU General Public License.
218
+// -------------------------------------------
219
+// ####ECOSGPLCOPYRIGHTEND####
220
+//==========================================================================
221
+//#####DESCRIPTIONBEGIN####
222
+//
223
+// Author(s):     Sergei Gavrikov
224
+// Contributors:  Sergei Gavrikov
225
+// Date:
226
+// Purpose:       DE1_OLPCL2294 ethernet definitions
227
+// Description:
228
+//
229
+//####DESCRIPTIONEND####
230
+//
231
+//========================================================================*/
232
+
233
+#include 
234
+#include 
235
+
236
+#ifdef CYGPKG_REDBOOT
237
+# include 
238
+# ifdef CYGSEM_REDBOOT_FLASH_CONFIG
239
+#  include 
240
+#  include 
241
+# endif
242
+#endif
243
+
244
+#ifdef __WANT_CONFIG
245
+//#define DEBUG 0x0f
246
+#endif // __WANT_CONFIG
247
+
248
+#ifdef __WANT_DEVS
249
+
250
+#ifdef CYGPKG_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0
251
+
252
+#ifndef CYGSEM_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_SET_ESA
253
+# if defined(CYGPKG_REDBOOT) && defined(CYGSEM_REDBOOT_FLASH_CONFIG)
254
+RedBoot_config_option("Set " CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_NAME " network hardware address [MAC]",
255
+                      eth0_esa,
256
+                      ALWAYS_ENABLED, true,
257
+                      CONFIG_BOOL, false
258
+    );
259
+RedBoot_config_option(CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_NAME " network hardware address [MAC]",
260
+                      eth0_esa_data,
261
+                      "eth0_esa", true,
262
+                      CONFIG_ESA, 0
263
+    );
264
+# endif // CYGPKG_REDBOOT && CYGSEM_REDBOOT_FLASH_CONFIG
265
+
266
+# ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
267
+// Note that this section *is* active in an application, outside RedBoot,
268
+// where the above section is not included.
269
+
270
+#  include 
271
+
272
+#  ifndef CONFIG_ESA
273
+#   define CONFIG_ESA (6)
274
+#  endif
275
+#  ifndef CONFIG_BOOL
276
+#   define CONFIG_BOOL (1)
277
+#  endif
278
+
279
+cyg_bool
280
+_de1_olpcl2294_provide_eth0_esa(struct cs8900a_priv_data* cpd)
281
+{
282
+    cyg_bool set_esa;
283
+    int ok;
284
+    ok = CYGACC_CALL_IF_FLASH_CFG_OP( CYGNUM_CALL_IF_FLASH_CFG_GET,
285
+                                      "eth0_esa", &set_esa, CONFIG_BOOL);
286
+    if (ok && set_esa) {
287
+        ok = CYGACC_CALL_IF_FLASH_CFG_OP( CYGNUM_CALL_IF_FLASH_CFG_GET,
288
+                                          "eth0_esa_data", cpd->esa, CONFIG_ESA);
289
+    }
290
+    return ok && set_esa;
291
+}
292
+
293
+# endif // CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
294
+#endif // ! CYGSEM_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_SET_ESA
295
+
296
+static __inline__ void
297
+post_reset(cyg_addrword_t base)
298
+{
299
+    // Toggle A0 connected to the SBHE# line
300
+    HAL_WRITE_UINT8( 0x82000000, 1 );
301
+    HAL_WRITE_UINT8( 0x82000001, 2 );
302
+    HAL_WRITE_UINT8( 0x82000000, 3 );
303
+    HAL_WRITE_UINT8( 0x82000001, 0 );
304
+}
305
+
306
+#undef CYGHWR_CL_CS8900A_PLF_POST_RESET
307
+#define CYGHWR_CL_CS8900A_PLF_POST_RESET(base) post_reset(base)
308
+
309
+static cs8900a_priv_data_t cs8900a_eth0_priv_data = {
310
+    base : (cyg_addrword_t) 0x82000000,
311
+    interrupt : CYGNUM_HAL_INTERRUPT_EINT2,
312
+#ifdef CYGSEM_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_SET_ESA
313
+    esa : CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_ESA,
314
+    hardwired_esa : true,
315
+#else
316
+    hardwired_esa : false,
317
+# ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
318
+    provide_esa : &_de1_olpcl2294_provide_eth0_esa,
319
+# else
320
+    provide_esa : NULL,
321
+# endif
322
+#endif
323
+};
324
+
325
+ETH_DRV_SC(cs8900a_sc,
326
+           &cs8900a_eth0_priv_data, // Driver specific data
327
+           CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_NAME,
328
+           cs8900a_start,
329
+           cs8900a_stop,
330
+           cs8900a_control,
331
+           cs8900a_can_send,
332
+           cs8900a_send,
333
+           cs8900a_recv,
334
+           cs8900a_deliver,     // "pseudoDSR" called from fast net thread
335
+           cs8900a_poll,        // poll function, encapsulates ISR and DSR
336
+           cs8900a_int_vector);
337
+
338
+NETDEVTAB_ENTRY(cs8900a_netdev,
339
+                "cs8900a_" CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_NAME,
340
+                cs8900a_init,
341
+                &cs8900a_sc);
342
+
343
+#endif // CYGPKG_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0
344
+
345
+#endif // __WANT_DEVS
346
+
347
+// indent: --indent-level4 -br -nut; vim: expandtab tabstop=4 shiftwidth=4
348
+//--------------------------------------------------------------------------
349
+// EOF devs_eth_arm_de1_olpcl2294.inl
350
+
351
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/cdl/flash_de1_olpcx2294.cdl ../ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/cdl/flash_de1_olpcx2294.cdl
352 8 qaztronic
--- /opt/ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/cdl/flash_de1_olpcx2294.cdl        1969-12-31 16:00:00.000000000 -0800
353 10 qaztronic
+++ ../ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/cdl/flash_de1_olpcx2294.cdl  2010-10-07 17:36:06.896959000 -0700
354
@@ -0,0 +1,71 @@
355 8 qaztronic
+# ====================================================================
356
+#
357
+#      flash_olpcx2294.cdl
358
+#
359
+#      FLASH memory - Hardware support on Olimex LPC-X2294 boards
360
+#
361
+# ====================================================================
362
+## ####ECOSGPLCOPYRIGHTBEGIN####
363
+## -------------------------------------------
364
+## This file is part of eCos, the Embedded Configurable Operating System.
365
+## Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, Inc.
366
+##
367
+## eCos is free software; you can redistribute it and/or modify it under
368
+## the terms of the GNU General Public License as published by the Free
369
+## Software Foundation; either version 2 or (at your option) any later
370
+## version.
371
+##
372
+## eCos is distributed in the hope that it will be useful, but WITHOUT
373
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
374
+## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
375
+## for more details.
376
+##
377
+## You should have received a copy of the GNU General Public License
378
+## along with eCos; if not, write to the Free Software Foundation, Inc.,
379
+## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
380
+##
381
+## As a special exception, if other files instantiate templates or use
382
+## macros or inline functions from this file, or you compile this file
383
+## and link it with other works to produce a work based on this file,
384
+## this file does not by itself cause the resulting work to be covered by
385
+## the GNU General Public License. However the source code for this file
386
+## must still be made available in accordance with section (3) of the GNU
387
+## General Public License v2.
388
+##
389
+## This exception does not invalidate any other reasons why a work based
390
+## on this file might be covered by the GNU General Public License.
391
+## -------------------------------------------
392
+## ####ECOSGPLCOPYRIGHTEND####
393
+# ====================================================================
394
+######DESCRIPTIONBEGIN####
395
+#
396
+# Author(s):      Sergei Gavrikov
397
+# Contributors:   Sergei Gavrikov
398
+# Date:           2008-11-28
399
+#
400
+#####DESCRIPTIONEND####
401
+#
402
+# ====================================================================
403
+
404
+cdl_package CYGPKG_DEVS_FLASH_ARM_DE1_OLPCX2294_V2 {
405 10 qaztronic
+    display       "Support for FLASH memory parts on Terasic DE1 & OLPC-X2294 boards."
406 8 qaztronic
+
407
+    compile       -library=libextras.a arm_olpcx2294_flash.c
408
+
409
+    parent        CYGPKG_IO_FLASH
410
+    active_if     CYGPKG_IO_FLASH
411
+
412 10 qaztronic
+    requires      CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294
413 8 qaztronic
+
414
+    requires      CYGPKG_DEVS_FLASH_STRATA_V2
415
+
416
+    implements    CYGHWR_IO_FLASH_BLOCK_LOCKING
417
+
418
+    description "
419
+        Olimex LPC-X2294 boards all have strata family 28FxxxC3 flash
420
+        memory parts. These parts have boot blocks. There is no buffered
421
+        write capability. Individual blocks can be locked and unlocked
422
+        in software"
423
+
424
+}
425
+
426 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/src/arm_olpcx2294_flash.c ../ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/src/arm_olpcx2294_flash.c
427 8 qaztronic
--- /opt/ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/src/arm_olpcx2294_flash.c  1969-12-31 16:00:00.000000000 -0800
428 10 qaztronic
+++ ../ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/src/arm_olpcx2294_flash.c    2009-12-04 17:20:22.000000000 -0800
429 8 qaztronic
@@ -0,0 +1,114 @@
430
+//==========================================================================
431
+//
432
+//      arm_olpcx2294_flash.c
433
+//
434
+//      Flash programming for Intel FlashFile devices on Olimex LPC-X2294
435
+//
436
+//==========================================================================
437
+// ####ECOSGPLCOPYRIGHTBEGIN####
438
+// -------------------------------------------
439
+// This file is part of eCos, the Embedded Configurable Operating System.
440
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, Inc.
441
+//
442
+// eCos is free software; you can redistribute it and/or modify it under
443
+// the terms of the GNU General Public License as published by the Free
444
+// Software Foundation; either version 2 or (at your option) any later
445
+// version.
446
+//
447
+// eCos is distributed in the hope that it will be useful, but WITHOUT
448
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
449
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
450
+// for more details.
451
+//
452
+// You should have received a copy of the GNU General Public License
453
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
454
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
455
+//
456
+// As a special exception, if other files instantiate templates or use
457
+// macros or inline functions from this file, or you compile this file
458
+// and link it with other works to produce a work based on this file,
459
+// this file does not by itself cause the resulting work to be covered by
460
+// the GNU General Public License. However the source code for this file
461
+// must still be made available in accordance with section (3) of the GNU
462
+// General Public License v2.
463
+//
464
+// This exception does not invalidate any other reasons why a work based
465
+// on this file might be covered by the GNU General Public License.
466
+// -------------------------------------------
467
+// ####ECOSGPLCOPYRIGHTEND####
468
+//==========================================================================
469
+//#####DESCRIPTIONBEGIN####
470
+//
471
+// Author(s):     Sergei Gavrikov
472
+// Contributors:  Sergei Gavrikov
473
+// Date:          2008-11-28
474
+// Purpose:
475
+// Description:
476
+//
477
+//####DESCRIPTIONEND####
478
+//
479
+//========================================================================*/
480
+
481
+#include 
482
+
483
+#if !defined(CYGPKG_HAL_ARM_LPC2XXX_OLPCE2294) && \
484
+    !defined(CYGPKG_HAL_ARM_LPC2XXX_OLPCH2294) && \
485
+    !defined(CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294) && \
486
+    !defined(CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294)
487
+# error Unsupported target
488
+#endif
489
+
490
+#ifdef CYGPKG_DEVS_FLASH_STRATA_V2
491
+
492
+#include 
493
+#include 
494
+
495
+// Olimex LPC-E2294 development board and Olimex LPC-H2294 header board both
496
+// have 28F320C3-B flash memory part, Olimex LPC-L2294-1M development board has
497
+// 28F160C3-B flash memory part. All boards have 16-bit access to it's flash
498
+// devices.
499
+static const CYG_FLASH_FUNS(hal_olpcx2294_flash_strata_funs,
500
+    &cyg_strata_init_check_devid_16,
501
+    &cyg_flash_devfn_query_nop,
502
+    &cyg_strata_erase_16,
503
+    &cyg_strata_program_16,
504
+    (int (*)(struct cyg_flash_dev*, const cyg_flashaddr_t, void*, size_t))0,
505
+    &cyg_strata_lock_k3_16,
506
+    &cyg_strata_unlock_k3_16);
507
+
508
+static const cyg_strata_dev hal_olpcx2294_flash_priv = {
509
+    .manufacturer_code = CYG_FLASH_STRATA_MANUFACTURER_INTEL,
510
+#ifdef CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294
511
+    .device_code = 0x88c3, /* 16-Mbit x 16-B, 28F160C3-B */
512
+#else
513
+    .device_code = 0x88c5, /* 32-Mbit x 16-B, 28F320C3-B */
514
+#endif
515
+    .bufsize    = 1,
516
+    .block_info = {
517
+#ifdef CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294
518
+        { 0x00002000,  8 },/* boot bottom 8 x 8K blocks */
519
+        { 0x00010000, 31 } /* 31 x 64K blocks */
520
+#else
521
+        { 0x00002000,  8 },/* boot bottom 8 x 8K blocks */
522
+        { 0x00010000, 63 } /* 63 x 64K blocks */
523
+#endif
524
+    }
525
+};
526
+
527
+CYG_FLASH_DRIVER(hal_olpcx2294_flash,
528
+                 &hal_olpcx2294_flash_strata_funs,
529
+                 0,
530
+                 0x80000000,
531
+#ifdef CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294
532
+                 0x801fffff,
533
+#else
534
+                 0x803fffff,
535
+#endif
536
+                 2,
537
+                 hal_olpcx2294_flash_priv.block_info,
538
+                 &hal_olpcx2294_flash_priv
539
+);
540
+
541
+#endif//CYGPKG_DEVS_FLASH_STRATA_V2
542
+// ------------------------------------------------------------------------
543
+// EOF arm_olpcx2294_flash.c
544 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/ecos.db ../ecos-3.0/packages/ecos.db
545 8 qaztronic
--- /opt/ecos-3.0/packages/ecos.db      2009-03-27 01:58:47.000000000 -0700
546 10 qaztronic
+++ ../ecos-3.0/packages/ecos.db        2010-10-07 17:22:20.668111000 -0700
547
@@ -6690,3 +6690,59 @@
548 8 qaztronic
         to run eCos on the STM3210E EVAL board."
549
 }
550
 
551
+
552
+# --------------------
553
+#
554
+# --------------------
555
+
556 10 qaztronic
+package CYGPKG_DEVS_ETH_ARM_DE1_OLPCL2294 {
557
+        alias           { "Ethernet driver for Terasic DE1 & Olimex LPC-L2294-1MB board" de1_olpcl2294_eth_driver }
558
+        hardware
559
+        directory       devs/eth/arm/de1_olpcl2294
560
+        script          de1_olpcl2294_eth_drivers.cdl
561
+        description     "
562
+            Ethernet device driver for Terasic DE1 & Olimex LPC-L2294-1MB board."
563
+}
564 8 qaztronic
+
565 10 qaztronic
+
566 8 qaztronic
+package CYGPKG_DEVS_FLASH_ARM_DE1_OLPCX2294_V2 {
567 10 qaztronic
+        alias           { "External Flash memory support for Terasic DE1 & Olimex LPC-L2294-1M" flash_olpcx2294_v2 }
568 8 qaztronic
+        directory       devs/flash/arm/de1_olpcx2294
569
+        script          flash_de1_olpcx2294.cdl
570
+        hardware
571
+        description "
572
+            The flash_olpcx2294_v2 provides hardware support for external
573 10 qaztronic
+            flash memory parts on the Terasic DE1 & Olimex LPC-L2294-1M
574
+            boards. It uses eCos Flash v2 API."
575 8 qaztronic
+}
576
+
577
+
578
+package CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294 {
579
+        alias           { "Olimex LPC-L2294-1MB development and Terasic DE1 boards" hal_de1_olpcl2294_arm }
580
+        directory       hal/arm/lpc2xxx/de1_olpcl2294
581
+        script          hal_arm_lpc2xxx_de1_olpcl2294.cdl
582
+        hardware
583
+        description "
584
+            The olpcl2294 HAL package provides the support needed to run
585
+            eCos on Olimex LPC-L2294-1MB development and Terasic DE1 boards."
586
+}
587
+
588
+
589
+target de1_olpcl2294 {
590
+        alias { "Olimex LPC-L2294-1MB development and Terasic DE1 boards" }
591
+        packages { CYGPKG_HAL_ARM
592
+                   CYGPKG_HAL_ARM_LPC2XXX
593
+                   CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294
594
+                   CYGPKG_DEVS_FLASH_STRATA_V2
595
+                   CYGPKG_DEVS_FLASH_ARM_DE1_OLPCX2294_V2
596
+                   CYGPKG_DEVS_ETH_CL_CS8900A
597 10 qaztronic
+                   CYGPKG_DEVS_ETH_ARM_DE1_OLPCL2294
598 8 qaztronic
+                   CYGPKG_IO_SERIAL_GENERIC_16X5X
599
+                   CYGPKG_IO_SERIAL_ARM_LPC2XXX
600
+                   CYGPKG_DEVICES_WATCHDOG_ARM_LPC2XXX
601
+        }
602
+        description "
603
+            The olpcl2294 target provides the packages needed to run
604
+            eCos on Olimex LPC-L2294-1MB development and Terasic DE1 boards."
605
+}
606
+
607 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/cdl/hal_arm_lpc2xxx_de1_olpcl2294.cdl ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/cdl/hal_arm_lpc2xxx_de1_olpcl2294.cdl
608 8 qaztronic
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/cdl/hal_arm_lpc2xxx_de1_olpcl2294.cdl     1969-12-31 16:00:00.000000000 -0800
609 10 qaztronic
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/cdl/hal_arm_lpc2xxx_de1_olpcl2294.cdl       2009-12-04 17:20:22.000000000 -0800
610 8 qaztronic
@@ -0,0 +1,297 @@
611
+# ====================================================================
612
+#
613
+#      hal_arm_lpc2xxx_de1_olpcl2294.cdl
614
+#
615
+#      ARM LPC2XXX OLPCL2294 development board package configuration
616
+#      data
617
+#
618
+# ====================================================================
619
+## ####ECOSGPLCOPYRIGHTBEGIN####
620
+## -------------------------------------------
621
+## This file is part of eCos, the Embedded Configurable Operating System.
622
+## Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, Inc.
623
+##
624
+## eCos is free software; you can redistribute it and/or modify it under
625
+## the terms of the GNU General Public License as published by the Free
626
+## Software Foundation; either version 2 or (at your option) any later
627
+## version.
628
+##
629
+## eCos is distributed in the hope that it will be useful, but WITHOUT
630
+## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
631
+## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
632
+## for more details.
633
+##
634
+## You should have received a copy of the GNU General Public License
635
+## along with eCos; if not, write to the Free Software Foundation, Inc.,
636
+## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
637
+##
638
+## As a special exception, if other files instantiate templates or use
639
+## macros or inline functions from this file, or you compile this file
640
+## and link it with other works to produce a work based on this file,
641
+## this file does not by itself cause the resulting work to be covered by
642
+## the GNU General Public License. However the source code for this file
643
+## must still be made available in accordance with section (3) of the GNU
644
+## General Public License v2.
645
+##
646
+## This exception does not invalidate any other reasons why a work based
647
+## on this file might be covered by the GNU General Public License.
648
+## -------------------------------------------
649
+## ####ECOSGPLCOPYRIGHTEND####
650
+# ====================================================================
651
+######DESCRIPTIONBEGIN####
652
+#
653
+# Author(s):      Sergei Gavrikov
654
+# Contributors:   Sergei Gavrikov
655
+# Date:           2008-08-31
656
+#
657
+#####DESCRIPTIONEND####
658
+#
659
+# ====================================================================
660
+
661
+cdl_package CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294 {
662
+    display       "Olimex LPC-L2294-1MB development and Terasic DE1 boards"
663
+    parent        CYGPKG_HAL_ARM_LPC2XXX
664
+    define_header hal_arm_lpc2xxx_de1_olpcl2294.h
665
+    include_dir   cyg/hal
666
+    hardware
667
+    description   "
668
+        The OLPCL2294 HAL package provides the support needed to run
669
+        eCos on Olimex LPC-L2294-1MB development board."
670
+
671
+    compile       de1_olpcl2294_misc.c
672
+
673
+    requires      { CYGHWR_HAL_ARM_LPC2XXX == "LPC2294" }
674
+
675
+    define_proc {
676
+        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
677
+        puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H  "
678
+        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
679
+        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"ARM7TDMI-S\""
680
+        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"Olimex LPC-L2294-1MB development and Terasic DE1 boards\""
681
+        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"\""
682
+    }
683
+
684
+    cdl_component CYG_HAL_STARTUP {
685
+        display       "Startup type"
686
+        flavor        data
687
+        default_value {"RAM"}
688
+        legal_values  {"RAM" "ROM"}
689
+        no_define
690
+        define -file system.h CYG_HAL_STARTUP
691
+        description   "Choose RAM or ROM startup type."
692
+    }
693
+
694
+    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
695
+        display      "Default console channel."
696
+        flavor       data
697
+        calculated   0
698
+    }
699
+
700
+    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
701
+        display      "Number of communication channels on the board"
702
+        flavor       data
703
+        calculated   1
704
+    }
705
+
706
+    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
707
+        display          "Debug serial port"
708
+        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
709
+        flavor data
710
+        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
711
+        default_value    0
712
+        description      "
713
+            There is one serial connector on the board."
714
+     }
715
+
716
+     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
717
+         display          "Diagnostic serial port"
718
+         active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
719
+         flavor data
720
+         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
721
+         default_value    CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
722
+         description      "
723
+            There is one serial connector on the board."
724
+     }
725
+
726
+     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
727
+        display       "Diagnostic serial port baud rate"
728
+        flavor        data
729
+        legal_values  9600 19200 38400 57600 115200 230400
730
+        default_value 38400
731
+        description   "
732
+            This option selects the baud rate used for the diagnostic
733
+            port."
734
+    }
735
+
736
+    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
737
+         display       "GDB serial port baud rate"
738
+         flavor        data
739
+         legal_values  9600 19200 38400 57600 115200 230400
740
+         default_value 38400
741
+         description   "
742
+            This option controls the baud rate used for the GDB
743
+            connection."
744
+    }
745
+
746
+    # Real-time clock/counter specifics
747
+    cdl_option CYGNUM_HAL_ARM_LPC2XXX_XTAL_FREQ {
748
+        display       "CPU xtal frequency"
749
+        flavor        data
750
+        default_value {14745600}
751
+    }
752
+
753
+    cdl_option CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL {
754
+        display       "CPU PLL multiplier"
755
+        flavor        data
756
+        default_value {4}
757
+    }
758
+
759
+    cdl_option CYGNUM_HAL_ARM_LPC2XXX_CLOCK_SPEED {
760
+        display       "CPU clock speed"
761
+        flavor        data
762
+        calculated { CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL *
763
+                     CYGNUM_HAL_ARM_LPC2XXX_XTAL_FREQ }
764
+    }
765
+
766
+    cdl_component CYGBLD_GLOBAL_OPTIONS {
767
+        display "Global build options"
768
+        flavor  none
769
+        parent  CYGPKG_NONE
770
+        description   "
771
+            Global build options including control over compiler flags,
772
+            linker flags and choice of toolchain."
773
+
774
+        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
775
+            display "Global command prefix"
776
+            flavor  data
777
+            no_define
778
+            default_value { "arm-eabi" }
779
+            description "
780
+                This option specifies the command prefix used when
781
+                invoking the build tools."
782
+        }
783
+
784
+        cdl_option CYGBLD_GLOBAL_CFLAGS {
785
+            display "Global compiler flags"
786
+            flavor  data
787
+            no_define
788
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
789
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions" }
790
+            description   "
791
+                This option controls the global compiler flags which
792
+                are used to compile all packages by default. Individual
793
+                packages may define options which override these global
794
+                flags."
795
+        }
796
+
797
+        cdl_option CYGBLD_GLOBAL_LDFLAGS {
798
+            display "Global linker flags"
799
+            flavor  data
800
+            no_define
801
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
802
+            description   "
803
+                This option controls the global linker flags. Individual
804
+                packages may define options which override these global
805
+                flags."
806
+        }
807
+    }
808
+
809
+    cdl_option CYGSEM_HAL_ROM_MONITOR {
810
+        display       "Behave as a ROM monitor"
811
+        flavor        bool
812
+        default_value 0
813
+        parent        CYGPKG_HAL_ROM_MONITOR
814
+        requires      { CYG_HAL_STARTUP == "ROM" }
815
+        description   "
816
+            Enable this option if this program is to be used as a
817
+            ROM monitor, i.e. applications will be loaded into RAM on
818
+            the board, and this ROM monitor may process exceptions or
819
+            interrupts generated from the application. This enables
820
+            features such as utilizing a separate interrupt stack when
821
+            exceptions are generated."
822
+    }
823
+
824
+    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
825
+         display       "Work with a ROM monitor"
826
+         flavor        booldata
827
+         legal_values  { "Generic" "GDB_stubs" }
828
+         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
829
+         parent        CYGPKG_HAL_ROM_MONITOR
830
+         requires      { CYG_HAL_STARTUP == "RAM" }
831
+         description   "
832
+             Support can be enabled for different varieties of ROM
833
+             monitor.  This support changes various eCos semantics such
834
+             as the encoding of diagnostic output, or the overriding of
835
+             hardware interrupt vectors.
836
+             Firstly there is \"Generic\" support which prevents the
837
+             HAL from overriding the hardware vectors that it does not
838
+             use, to instead allow an installed ROM monitor to handle
839
+             them. This is the most basic support which is likely to be
840
+             common to most implementations of ROM monitor.
841
+             \"GDB_stubs\" provides support when GDB stubs are included
842
+             in the ROM monitor or boot ROM."
843
+     }
844
+
845
+    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
846
+        display       "Redboot HAL options"
847
+        flavor        none
848
+        no_define
849
+        parent        CYGPKG_REDBOOT
850
+        active_if     CYGPKG_REDBOOT
851
+        description   "
852
+            This option lists the target's requirements for a valid
853
+            Redboot configuration."
854
+
855
+        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
856
+            display       "Build Redboot ROM binary image"
857
+            active_if     CYGBLD_BUILD_REDBOOT
858
+            requires      { !CYGBLD_BUILD_REDBOOT_WITH_EXEC }
859
+            default_value 1
860
+            no_define
861
+            description "
862
+                This option enables the conversion of the Redboot ELF
863
+                image to a binary image suitable for ROM programming."
864
+
865
+                compile -library=libextras.a redboot_cmds.c
866
+
867
+            compile -library=libextras.a redboot_cmds.c
868
+
869
+            make -priority 325 {
870
+                /bin/redboot.bin : /bin/redboot.elf
871
+                $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
872
+                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
873
+                $(OBJCOPY) -O ihex $< $(@:.bin=.hex)
874
+                $(OBJCOPY) -O binary $< $@
875
+            }
876
+
877
+        }
878
+    }
879
+
880
+    cdl_component CYGHWR_MEMORY_LAYOUT {
881
+        display "Memory layout"
882
+        flavor data
883
+        no_define
884
+        calculated { (CYG_HAL_STARTUP == "RAM") ? "arm_lpc2xxx_de1_olpcl2294_ram" :
885
+                                                  "arm_lpc2xxx_de1_olpcl2294_rom" }
886
+        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
887
+            display "Memory layout linker script fragment"
888
+            flavor data
889
+            no_define
890
+            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
891
+            calculated { (CYG_HAL_STARTUP == "RAM") ?
892
+                             "" :
893
+                             "" }
894
+        }
895
+
896
+        cdl_option CYGHWR_MEMORY_LAYOUT_H {
897
+            display "Memory layout header file"
898
+            flavor data
899
+            no_define
900
+            define -file system.h CYGHWR_MEMORY_LAYOUT_H
901
+            calculated { (CYG_HAL_STARTUP == "RAM") ?
902
+                             "" :
903
+                             "" }
904
+        }
905
+    }
906
+}
907
+
908 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/hal_platform_setup.h ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/hal_platform_setup.h
909 8 qaztronic
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/hal_platform_setup.h      1969-12-31 16:00:00.000000000 -0800
910 10 qaztronic
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/hal_platform_setup.h        2009-12-04 15:45:06.000000000 -0800
911 8 qaztronic
@@ -0,0 +1,230 @@
912
+#ifndef CYGONCE_HAL_PLATFORM_SETUP_H
913
+#define CYGONCE_HAL_PLATFORM_SETUP_H
914
+/*=============================================================================
915
+//
916
+//      hal_platform_setup.h
917
+//
918
+//      Platform specific support for HAL (assembly code)
919
+//
920
+//=============================================================================
921
+// ####ECOSGPLCOPYRIGHTBEGIN####
922
+// -------------------------------------------
923
+// This file is part of eCos, the Embedded Configurable Operating System.
924
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, Inc.
925
+//
926
+// eCos is free software; you can redistribute it and/or modify it under
927
+// the terms of the GNU General Public License as published by the Free
928
+// Software Foundation; either version 2 or (at your option) any later
929
+// version.
930
+//
931
+// eCos is distributed in the hope that it will be useful, but WITHOUT
932
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
933
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
934
+// for more details.
935
+//
936
+// You should have received a copy of the GNU General Public License
937
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
938
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
939
+//
940
+// As a special exception, if other files instantiate templates or use
941
+// macros or inline functions from this file, or you compile this file
942
+// and link it with other works to produce a work based on this file,
943
+// this file does not by itself cause the resulting work to be covered by
944
+// the GNU General Public License. However the source code for this file
945
+// must still be made available in accordance with section (3) of the GNU
946
+// General Public License v2.
947
+//
948
+// This exception does not invalidate any other reasons why a work based
949
+// on this file might be covered by the GNU General Public License.
950
+// -------------------------------------------
951
+// ####ECOSGPLCOPYRIGHTEND####
952
+//=============================================================================
953
+//#####DESCRIPTIONBEGIN####
954
+//
955
+// Author(s):     Sergei Gavrikov
956
+// Contributors:  Sergei Gavrikov
957
+// Date:          2008-08-31
958
+// Purpose:       Olimex LPC-L2294-1MB platform specific support routines
959
+// Description:
960
+// Usage:         #include 
961
+//
962
+//####DESCRIPTIONEND####
963
+//
964
+//===========================================================================*/
965
+
966
+#include 
967
+#include 
968
+#include 
969
+
970
+        // There is one only diagnostic led marked STAT on the board
971
+        // |P1.23  330 Om    LED
972
+        // |------\/\/\/-----|<|-----> 3.3 V
973
+        // |
974
+
975
+        .macro  _led_init
976
+        ldr r0,=CYGARC_HAL_LPC2XXX_REG_IO_BASE
977
+        ldr r1,[r0,#CYGARC_HAL_LPC2XXX_REG_IO1DIR]
978
+        orr r1,r1,#(1<<23)
979
+        str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_IO1DIR]
980
+
981
+        .endm // _led_init
982
+
983
+        .macro _led x
984
+        ldr r0,=CYGARC_HAL_LPC2XXX_REG_IO_BASE
985
+        ldr r1,=(1<<23)
986
+        str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_IO1SET]
987
+        ldr r1,=((\x & 1)<<23)
988
+        str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_IO1CLR]
989
+
990
+        .endm // _led
991
+
992
+        .macro _pll_init
993
+        ldr r0,=CYGARC_HAL_LPC2XXX_REG_SCB_BASE
994
+
995
+        mov r2,#0xAA
996
+        mov r3,#0x55
997
+
998
+        // enable PLL
999
+        mov r1,#1
1000
+        str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLCON]
1001
+
1002
+        mov r1,#(0x20 | (CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL - 1))
1003
+        str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLCFG]
1004
+
1005
+        // update PLL registers
1006
+        str r2,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLFEED]
1007
+        str r3,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLFEED]
1008
+
1009
+        // wait for it to lock
1010
+1:
1011
+        ldr r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLSTAT]
1012
+        ands r1,r1,#(1<<10)
1013
+        beq 1b
1014
+
1015
+        // connect PLL
1016
+        mov r1,#3
1017
+        str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLCON]
1018
+
1019
+        // update PLL registers
1020
+        str r2,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLFEED]
1021
+        str r3,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLFEED]
1022
+
1023
+        .endm // _pll_init
1024
+
1025
+        .macro _mem_init
1026
+        // copy first 64 bytes from ROM to on-chip RAM
1027
+        mov r0,#0
1028
+        mov r1,#0x40000000
1029
+        mov r2,#0x40
1030
+1:
1031
+        ldr r3,[r0,#4]!
1032
+        str r3,[r1,#4]!
1033
+        cmps r0,r2
1034
+        bne 1b
1035
+
1036
+        ldr r0,=CYGARC_HAL_LPC2XXX_REG_SCB_BASE
1037
+        mov r1,#2 // interrupt vector table is mapped to RAM
1038
+        str r1, [r0,#CYGARC_HAL_LPC2XXX_REG_MEMMAP]
1039
+        // flash timings
1040
+        mov r1,#4
1041
+        str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_MAMTIM]
1042
+        mov r1,#2 // 2, full MAM
1043
+        str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_MAMCR]
1044
+
1045
+        // External memory interface depends on the bank width (32, 16 or 8 bit
1046
+        // selected via MW bits in corresponding BCFG register).  Furthermore,
1047
+        // choice of the memory chip(s) will require an adequate setup of RBLE
1048
+        // bit in BCFG register, too. RBLE = 0 in case of 8-bit based external
1049
+        // memories, while memory chips capable of accepting 16 or 32 bit wide
1050
+        // data will work with RBLE = 1.
1051
+        //
1052
+        // BANK0: 2M FLASH
1053
+        // TE28F160C3BD70 (1024Kx16 x 1, 70nS)
1054
+        ldr r0,=CYGARC_HAL_LPC2XXX_REG_BCFG0
1055
+        ldr r1,=  (0x3 << 0)    /* IDCY=3, idle timing  */\
1056
+                | (0x4 << 5)    /* WST1=4, read timing  */\
1057
+                | (0x1 << 10)   /* RBLE=1               */\
1058
+                | (0x6 << 11)   /* WST2=6, write timing */\
1059
+                | (0x1 << 28)   /* MW=1,   16-bits      */
1060
+        str r1,[r0]
1061
+
1062
+        // BANK1: 1M RAM
1063
+        // K6R4016V1D (512Kx16 x 2, 10nS)
1064
+        ldr r0,=CYGARC_HAL_LPC2XXX_REG_BCFG1
1065
+        // Warning: changed these timings, you can fall dramatically the eCos
1066
+        // kernel performance. Check it then using the eCos 'tm_basic' test.
1067
+        ldr r1,=  (0x0 << 0)    /* IDCY=0, idle cycles  */\
1068
+                | (0x0 << 5)    /* WST1=0, read timing  */\
1069
+                | (0x1 << 10)   /* RBLE=1               */\
1070
+                | (0x0 << 11)   /* WST2=0, write timing */\
1071
+                | (0x2 << 28)   /* MW=2,   32-bits      */
1072
+        str r1,[r0]
1073
+
1074
+        // BANK2: Ethernet
1075
+        // CS8900A (16-bit, an interrupt driven mode)
1076
+        ldr r0,=CYGARC_HAL_LPC2XXX_REG_BCFG2
1077
+        ldr r1,=  (0x1 << 0)    /* IDCY=1, idle cycles  */\
1078
+                | (0x8 << 5)    /* WST1=8, read timing  */\
1079
+                | (0x1 << 10)   /* RBLE=1               */\
1080
+                | (0x6 << 11)   /* WST2=6, write timing */\
1081
+                | (0x1 << 28)   /* MW=1,   16-bits      */
1082
+        str r1,[r0]
1083
+
1084
+        .endm // _mem_init
1085
+
1086
+        .macro _gpio_init
1087
+        ldr r0,=CYGARC_HAL_LPC2XXX_REG_PIN_BASE
1088
+
1089
+        // Configure P0.15:0 as PIO, but UART0, EINT2
1090
+        ldr r1,=  (0x1 << 0)    /* P0.0 as TxD0         */\
1091
+                | (0x1 << 2)    /* P0.1 as RxD0         */\
1092
+                | (0x2 << 30)   /* P0.1 as EINT2(CL/IRQ)*/
1093
+        str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PINSEL0]
1094
+
1095
+        // Configure P0.30:16 as PIO, but EINT0 ('BUT' button)
1096
+        ldr r1,=  (0x1 << 0)    /* P0.16 as EINT0       */
1097
+        str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PINSEL1]
1098
+
1099
+        // GPIO P1.25:16, P3.24 are used as PIO
1100
+        ldr r1,=  (0x1 << 2)    /* P1.31:26 Debug port  */\
1101
+                | (0x2 << 4)    /* D31:0,CS0,OE,BLS0-3  */\
1102
+                | (0x1 << 8)    /* WE enabled           */\
1103
+                | (0x1 << 11)   /* CS1 enabled          */\
1104
+                | (0x1 << 14)   /* CS2 enabled          */\
1105
+                | (0x1 << 23)   /* A0 enabled           */\
1106
+                | (0x1 << 24)   /* A1 enabled           */\
1107
+                | (0x7 << 25)   /* A23:2 enabled        */
1108
+        str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PINSEL2]
1109
+
1110
+        .endm // _gpio_init
1111
+
1112
+#define CYGHWR_LED_MACRO _led \x
1113
+
1114
+#if defined(CYG_HAL_STARTUP_ROM)
1115
+
1116
+        .macro  _setup
1117
+
1118
+        _pll_init
1119
+
1120
+        _mem_init
1121
+
1122
+        _gpio_init
1123
+
1124
+        _led_init
1125
+
1126
+        .endm
1127
+
1128
+#define CYGSEM_HAL_ROM_RESET_USES_JUMP
1129
+
1130
+#else
1131
+
1132
+        .macro  _setup
1133
+
1134
+        .endm
1135
+
1136
+#endif // CYG_HAL_STARTUP_ROM
1137
+
1138
+#define PLATFORM_SETUP1     _setup
1139
+
1140
+#endif // CYGONCE_HAL_PLATFORM_SETUP_H
1141
+
1142 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.h ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.h
1143 8 qaztronic
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.h       1969-12-31 16:00:00.000000000 -0800
1144 10 qaztronic
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.h 2009-12-04 15:45:06.000000000 -0800
1145 8 qaztronic
@@ -0,0 +1,19 @@
1146
+#ifndef __ASSEMBLER__
1147
+#include 
1148
+#include 
1149
+
1150
+#endif
1151
+
1152
+#define CYGMEM_REGION_ram (0x81000000)
1153
+#define CYGMEM_REGION_ram_SIZE (0x00100000)
1154
+#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
1155
+
1156
+#ifndef __ASSEMBLER__
1157
+extern char CYG_LABEL_NAME (__heap1) [];
1158
+
1159
+#endif
1160
+
1161
+#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
1162
+
1163
+#define CYGMEM_SECTION_heap1_SIZE (0x81100000 - (size_t) CYG_LABEL_NAME (__heap1))
1164
+
1165 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.ldi ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.ldi
1166 8 qaztronic
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.ldi     1969-12-31 16:00:00.000000000 -0800
1167 10 qaztronic
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.ldi       2009-12-04 15:45:06.000000000 -0800
1168 8 qaztronic
@@ -0,0 +1,25 @@
1169
+#include 
1170
+
1171
+MEMORY
1172
+{
1173
+    ram0 : ORIGIN = 0x40000000, LENGTH = 0x4000
1174
+    ram  : ORIGIN = 0x81000000, LENGTH = 0x100000
1175
+}
1176
+
1177
+SECTIONS
1178
+{
1179
+    SECTIONS_BEGIN
1180
+    SECTION_fixed_vectors (ram0, 0x40000020, LMA_EQ_VMA)
1181
+    SECTION_rom_vectors (ram, 0x81010000, LMA_EQ_VMA)
1182
+    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
1183
+    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
1184
+    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
1185
+    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
1186
+    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
1187
+    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
1188
+    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
1189
+    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
1190
+    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
1191
+    SECTIONS_END
1192
+}
1193
+
1194 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.h ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.h
1195 8 qaztronic
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.h       1969-12-31 16:00:00.000000000 -0800
1196 10 qaztronic
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.h 2009-12-04 15:45:06.000000000 -0800
1197 8 qaztronic
@@ -0,0 +1,22 @@
1198
+#ifndef __ASSEMBLER__
1199
+#include 
1200
+#include 
1201
+
1202
+#endif
1203
+
1204
+#define CYGMEM_REGION_rom (0x00000000)
1205
+#define CYGMEM_REGION_rom_SIZE (0x00040000)
1206
+#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
1207
+#define CYGMEM_REGION_ram (0x81000000)
1208
+#define CYGMEM_REGION_ram_SIZE (0x00100000)
1209
+#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
1210
+
1211
+#ifndef __ASSEMBLER__
1212
+extern char CYG_LABEL_NAME (__heap1) [];
1213
+
1214
+#endif
1215
+
1216
+#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
1217
+
1218
+#define CYGMEM_SECTION_heap1_SIZE (0x81100000 - (size_t) CYG_LABEL_NAME (__heap1))
1219
+
1220 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.ldi ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.ldi
1221 8 qaztronic
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.ldi     1969-12-31 16:00:00.000000000 -0800
1222 10 qaztronic
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.ldi       2009-12-04 15:45:06.000000000 -0800
1223 8 qaztronic
@@ -0,0 +1,26 @@
1224
+#include 
1225
+
1226
+MEMORY
1227
+{
1228
+    ram0   : ORIGIN = 0x40000000, LENGTH = 0x4000
1229
+    ram    : ORIGIN = 0x81000000, LENGTH = 0x100000
1230
+    rom    : ORIGIN = 0x00000000, LENGTH = 0x40000
1231
+}
1232
+
1233
+SECTIONS
1234
+{
1235
+    SECTIONS_BEGIN
1236
+    SECTION_rom_vectors (rom, 0x00000000, LMA_EQ_VMA)
1237
+    SECTION_text (rom, ALIGN (0x4), LMA_EQ_VMA)
1238
+    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
1239
+    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
1240
+    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
1241
+    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
1242
+    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
1243
+    SECTION_fixed_vectors (ram0, 0x40000020, LMA_EQ_VMA)
1244
+    SECTION_data (ram, 0x81000000, FOLLOWING (.gcc_except_table))
1245
+    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
1246
+    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
1247
+    SECTIONS_END
1248
+}
1249
+
1250 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/plf_io.h ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/plf_io.h
1251 8 qaztronic
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/plf_io.h  1969-12-31 16:00:00.000000000 -0800
1252 10 qaztronic
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/plf_io.h    2009-12-04 15:45:06.000000000 -0800
1253 8 qaztronic
@@ -0,0 +1,66 @@
1254
+#ifndef CYGONCE_HAL_PLF_IO_H
1255
+#define CYGONCE_HAL_PLF_IO_H
1256
+//=============================================================================
1257
+//
1258
+//      plf_io.h
1259
+//
1260
+//      Olimex LPC-L2294-1MB board specific registers
1261
+//
1262
+//=============================================================================
1263
+// ####ECOSGPLCOPYRIGHTBEGIN####
1264
+// -------------------------------------------
1265
+// This file is part of eCos, the Embedded Configurable Operating System.
1266
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, Inc.
1267
+//
1268
+// eCos is free software; you can redistribute it and/or modify it under
1269
+// the terms of the GNU General Public License as published by the Free
1270
+// Software Foundation; either version 2 or (at your option) any later
1271
+// version.
1272
+//
1273
+// eCos is distributed in the hope that it will be useful, but WITHOUT
1274
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1275
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1276
+// for more details.
1277
+//
1278
+// You should have received a copy of the GNU General Public License
1279
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
1280
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
1281
+//
1282
+// As a special exception, if other files instantiate templates or use
1283
+// macros or inline functions from this file, or you compile this file
1284
+// and link it with other works to produce a work based on this file,
1285
+// this file does not by itself cause the resulting work to be covered by
1286
+// the GNU General Public License. However the source code for this file
1287
+// must still be made available in accordance with section (3) of the GNU
1288
+// General Public License v2.
1289
+//
1290
+// This exception does not invalidate any other reasons why a work based
1291
+// on this file might be covered by the GNU General Public License.
1292
+// -------------------------------------------
1293
+// ####ECOSGPLCOPYRIGHTEND####
1294
+//=============================================================================
1295
+//#####DESCRIPTIONBEGIN####
1296
+//
1297
+// Author(s):     Sergei Gavrikov
1298
+// Contributors:  Sergei Gavrikov
1299
+// Date:          2008-08-31
1300
+// Purpose:       Olimex LPC-L2294-1MB board specific registers
1301
+// Description:
1302
+// Usage:         #include 
1303
+//
1304
+//####DESCRIPTIONEND####
1305
+//
1306
+//=============================================================================
1307
+// On-chip device base addresses
1308
+
1309
+#ifndef __ASSEMBLER__
1310
+extern void hal_plf_hardware_init(void);
1311
+#define HAL_PLF_HARDWARE_INIT() \
1312
+            hal_plf_hardware_init()
1313
+
1314
+#endif // __ASSEMBLER__
1315
+
1316
+//-----------------------------------------------------------------------------
1317
+// end of plf_io.h
1318
+#endif // CYGONCE_HAL_PLF_IO_H
1319
+
1320 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/LPC2294_ram.ecm ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/LPC2294_ram.ecm
1321
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/LPC2294_ram.ecm      1969-12-31 16:00:00.000000000 -0800
1322
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/LPC2294_ram.ecm        2010-10-06 15:29:52.656568600 -0700
1323
@@ -0,0 +1,197 @@
1324
+cdl_savefile_version 1;
1325
+cdl_savefile_command cdl_savefile_version {};
1326
+cdl_savefile_command cdl_savefile_command {};
1327
+cdl_savefile_command cdl_configuration { description hardware template package };
1328
+cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
1329
+cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
1330
+cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
1331
+cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
1332
+
1333
+cdl_configuration eCos {
1334
+    description "" ;
1335
+    hardware    de1_olpcl2294 ;
1336
+    template    default ;
1337
+    package -template CYGPKG_HAL v3_0 ;
1338
+    package -template CYGPKG_IO v3_0 ;
1339
+    package -template CYGPKG_IO_SERIAL v3_0 ;
1340
+    package -template CYGPKG_INFRA v3_0 ;
1341
+    package -template CYGPKG_KERNEL v3_0 ;
1342
+    package -template CYGPKG_MEMALLOC v3_0 ;
1343
+    package -template CYGPKG_ISOINFRA v3_0 ;
1344
+    package -template CYGPKG_LIBC v3_0 ;
1345
+    package -template CYGPKG_LIBC_I18N v3_0 ;
1346
+    package -template CYGPKG_LIBC_SETJMP v3_0 ;
1347
+    package -template CYGPKG_LIBC_SIGNALS v3_0 ;
1348
+    package -template CYGPKG_LIBC_STARTUP v3_0 ;
1349
+    package -template CYGPKG_LIBC_STDIO v3_0 ;
1350
+    package -template CYGPKG_LIBC_STDLIB v3_0 ;
1351
+    package -template CYGPKG_LIBC_STRING v3_0 ;
1352
+    package -template CYGPKG_LIBC_TIME v3_0 ;
1353
+    package -template CYGPKG_LIBM v3_0 ;
1354
+    package -template CYGPKG_IO_WALLCLOCK v3_0 ;
1355
+    package -template CYGPKG_ERROR v3_0 ;
1356
+    package -hardware CYGPKG_HAL_ARM v3_0 ;
1357
+    package -hardware CYGPKG_HAL_ARM_LPC2XXX v3_0 ;
1358
+    package -hardware CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294 v3_0 ;
1359
+    package -hardware CYGPKG_DEVS_FLASH_STRATA_V2 v3_0 ;
1360
+    package -hardware CYGPKG_DEVS_FLASH_ARM_DE1_OLPCX2294_V2 v3_0 ;
1361
+    package -hardware CYGPKG_DEVS_ETH_CL_CS8900A v3_0 ;
1362
+    package -hardware CYGPKG_DEVS_ETH_ARM_OLPCL2294 v3_0 ;
1363
+    package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X v3_0 ;
1364
+    package -hardware CYGPKG_IO_SERIAL_ARM_LPC2XXX v3_0 ;
1365
+    package -hardware CYGPKG_DEVICES_WATCHDOG_ARM_LPC2XXX v3_0 ;
1366
+};
1367
+
1368
+cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
1369
+    user_value 0
1370
+};
1371
+
1372
+cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
1373
+    user_value 0 GDB_stubs
1374
+};
1375
+
1376
+cdl_component CYGHWR_HAL_ARM_LPC2XXX {
1377
+    user_value LPC2294
1378
+};
1379
+
1380
+cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
1381
+    user_value 38400
1382
+};
1383
+
1384
+cdl_option CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL {
1385
+    user_value 2
1386
+};
1387
+
1388
+cdl_option CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING {
1389
+    user_value 0
1390
+};
1391
+
1392
+cdl_option CYGDAT_IO_SERIAL_TTY_CONSOLE {
1393
+    user_value "\"/dev/tty0\""
1394
+};
1395
+
1396
+cdl_component CYGPKG_IO_SERIAL_TTY_TTY0 {
1397
+    user_value 1
1398
+};
1399
+
1400
+cdl_option CYGDAT_IO_SERIAL_TTY_TTY0_DEV {
1401
+    user_value "\"/dev/ser0\""
1402
+};
1403
+
1404
+cdl_component CYGPKG_IO_SERIAL_DEVICES {
1405
+    user_value 1
1406
+};
1407
+
1408
+cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_XMIT_REQUIRE_PRIME {
1409
+    user_value 1
1410
+};
1411
+
1412
+cdl_option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT {
1413
+    user_value 0
1414
+};
1415
+
1416
+cdl_option CYGBLD_ISO_CTYPE_HEADER {
1417
+    inferred_value 1 
1418
+};
1419
+
1420
+cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
1421
+    inferred_value 1 
1422
+};
1423
+
1424
+cdl_option CYGBLD_ISO_ERRNO_HEADER {
1425
+    inferred_value 1 
1426
+};
1427
+
1428
+cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
1429
+    inferred_value 1 
1430
+};
1431
+
1432
+cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
1433
+    inferred_value 1 
1434
+};
1435
+
1436
+cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
1437
+    inferred_value 1 
1438
+};
1439
+
1440
+cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
1441
+    inferred_value 1 
1442
+};
1443
+
1444
+cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
1445
+    inferred_value 1 
1446
+};
1447
+
1448
+cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
1449
+    inferred_value 1 
1450
+};
1451
+
1452
+cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
1453
+    inferred_value 1 
1454
+};
1455
+
1456
+cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER {
1457
+    inferred_value 1 
1458
+};
1459
+
1460
+cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
1461
+    inferred_value 1 
1462
+};
1463
+
1464
+cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
1465
+    inferred_value 1 
1466
+};
1467
+
1468
+cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
1469
+    inferred_value 1 
1470
+};
1471
+
1472
+cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
1473
+    inferred_value 1 
1474
+};
1475
+
1476
+cdl_option CYGBLD_ISO_STRERROR_HEADER {
1477
+    inferred_value 1 
1478
+};
1479
+
1480
+cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
1481
+    inferred_value 1 
1482
+};
1483
+
1484
+cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
1485
+    inferred_value 1 
1486
+};
1487
+
1488
+cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
1489
+    inferred_value 1 
1490
+};
1491
+
1492
+cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
1493
+    inferred_value 1 
1494
+};
1495
+
1496
+cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
1497
+    inferred_value 1 
1498
+};
1499
+
1500
+cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
1501
+    inferred_value 1 
1502
+};
1503
+
1504
+cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
1505
+    inferred_value 1 
1506
+};
1507
+
1508
+cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
1509
+    inferred_value 1 
1510
+};
1511
+
1512
+cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
1513
+    inferred_value 1 
1514
+};
1515
+
1516
+cdl_option CYGBLD_ISO_SETJMP_HEADER {
1517
+    inferred_value 1 
1518
+};
1519
+
1520
+
1521
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/net_LPC2294_ram.ecm ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/net_LPC2294_ram.ecm
1522
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/net_LPC2294_ram.ecm  1969-12-31 16:00:00.000000000 -0800
1523
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/net_LPC2294_ram.ecm    2010-10-07 17:28:11.174762800 -0700
1524
@@ -0,0 +1,332 @@
1525
+cdl_savefile_version 1;
1526
+cdl_savefile_command cdl_savefile_version {};
1527
+cdl_savefile_command cdl_savefile_command {};
1528
+cdl_savefile_command cdl_configuration { description hardware template package };
1529
+cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
1530
+cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
1531
+cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
1532
+cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
1533
+
1534
+cdl_configuration eCos {
1535
+    description "" ;
1536
+    hardware    de1_olpcl2294 ;
1537
+    template    net ;
1538
+    package -hardware CYGPKG_HAL_ARM v3_0 ;
1539
+    package -hardware CYGPKG_HAL_ARM_LPC2XXX v3_0 ;
1540
+    package -hardware CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294 v3_0 ;
1541
+    package -hardware CYGPKG_DEVS_FLASH_STRATA_V2 v3_0 ;
1542
+    package -hardware CYGPKG_DEVS_FLASH_ARM_DE1_OLPCX2294_V2 v3_0 ;
1543
+    package -hardware CYGPKG_DEVS_ETH_CL_CS8900A v3_0 ;
1544
+    package -hardware CYGPKG_DEVS_ETH_ARM_DE1_OLPCL2294 v3_0 ;
1545
+    package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X v3_0 ;
1546
+    package -hardware CYGPKG_IO_SERIAL_ARM_LPC2XXX v3_0 ;
1547
+    package -hardware CYGPKG_DEVICES_WATCHDOG_ARM_LPC2XXX v3_0 ;
1548
+    package -template CYGPKG_HAL v3_0 ;
1549
+    package -template CYGPKG_IO v3_0 ;
1550
+    package -template CYGPKG_IO_SERIAL v3_0 ;
1551
+    package -template CYGPKG_INFRA v3_0 ;
1552
+    package -template CYGPKG_ISOINFRA v3_0 ;
1553
+    package -template CYGPKG_KERNEL v3_0 ;
1554
+    package -template CYGPKG_MEMALLOC v3_0 ;
1555
+    package -template CYGPKG_LIBC v3_0 ;
1556
+    package -template CYGPKG_LIBC_TIME v3_0 ;
1557
+    package -template CYGPKG_LIBC_STDLIB v3_0 ;
1558
+    package -template CYGPKG_LIBC_STRING v3_0 ;
1559
+    package -template CYGPKG_LIBC_I18N v3_0 ;
1560
+    package -template CYGPKG_LIBC_SETJMP v3_0 ;
1561
+    package -template CYGPKG_LIBC_STARTUP v3_0 ;
1562
+    package -template CYGPKG_LIBC_STDIO v3_0 ;
1563
+    package -template CYGPKG_LIBM v3_0 ;
1564
+    package -template CYGPKG_POSIX v3_0 ;
1565
+    package -template CYGPKG_IO_WATCHDOG v3_0 ;
1566
+    package -template CYGPKG_IO_WALLCLOCK v3_0 ;
1567
+    package -template CYGPKG_ERROR v3_0 ;
1568
+    package -template CYGPKG_IO_FILEIO v3_0 ;
1569
+    package -template CYGPKG_NET v3_0 ;
1570
+    package -template CYGPKG_NET_FREEBSD_STACK v3_0 ;
1571
+    package -template CYGPKG_NS_DNS v3_0 ;
1572
+    package -template CYGPKG_IO_ETH_DRIVERS v3_0 ;
1573
+    package -template CYGPKG_NET_SNTP v3_0 ;
1574
+    package CYGPKG_HTTPD v3_0 ;
1575
+};
1576
+
1577
+cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
1578
+    user_value 0
1579
+};
1580
+
1581
+cdl_option CYGSEM_HAL_DIAG_MANGLER {
1582
+    user_value GDB
1583
+};
1584
+
1585
+cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
1586
+    user_value 0
1587
+};
1588
+
1589
+cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
1590
+    user_value 0 GDB_stubs
1591
+};
1592
+
1593
+cdl_component CYGHWR_HAL_ARM_LPC2XXX {
1594
+    user_value LPC2294
1595
+    inferred_value LPC2294
1596
+};
1597
+
1598
+cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
1599
+    user_value 38400
1600
+};
1601
+
1602
+cdl_option CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL {
1603
+    user_value 2
1604
+};
1605
+
1606
+cdl_option CYGDAT_IO_SERIAL_TTY_CONSOLE {
1607
+    user_value "\"/dev/tty0\""
1608
+};
1609
+
1610
+cdl_component CYGPKG_IO_SERIAL_TTY_TTY0 {
1611
+    user_value 1
1612
+};
1613
+
1614
+cdl_component CYGPKG_IO_SERIAL_TERMIOS {
1615
+    user_value 0
1616
+};
1617
+
1618
+cdl_component CYGPKG_IO_SERIAL_DEVICES {
1619
+    user_value 1
1620
+};
1621
+
1622
+cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_XMIT_REQUIRE_PRIME {
1623
+    user_value 1
1624
+};
1625
+
1626
+cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
1627
+    user_value 0
1628
+};
1629
+
1630
+cdl_option CYGBLD_ISO_CTYPE_HEADER {
1631
+    inferred_value 1 
1632
+};
1633
+
1634
+cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
1635
+    inferred_value 1 
1636
+};
1637
+
1638
+cdl_option CYGBLD_ISO_ERRNO_HEADER {
1639
+    inferred_value 1 
1640
+};
1641
+
1642
+cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
1643
+    inferred_value 1 
1644
+};
1645
+
1646
+cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
1647
+    inferred_value 1 
1648
+};
1649
+
1650
+cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
1651
+    inferred_value 1 
1652
+};
1653
+
1654
+cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
1655
+    inferred_value 1 
1656
+};
1657
+
1658
+cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
1659
+    inferred_value 1 
1660
+};
1661
+
1662
+cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
1663
+    inferred_value 1 
1664
+};
1665
+
1666
+cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
1667
+    inferred_value 1 
1668
+};
1669
+
1670
+cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER {
1671
+    inferred_value 1 
1672
+};
1673
+
1674
+cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
1675
+    inferred_value 1 
1676
+};
1677
+
1678
+cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
1679
+    inferred_value 1 
1680
+};
1681
+
1682
+cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
1683
+    inferred_value 1 
1684
+};
1685
+
1686
+cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
1687
+    inferred_value 1 
1688
+};
1689
+
1690
+cdl_option CYGBLD_ISO_STRERROR_HEADER {
1691
+    inferred_value 1 
1692
+};
1693
+
1694
+cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
1695
+    inferred_value 1 
1696
+};
1697
+
1698
+cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
1699
+    inferred_value 1 
1700
+};
1701
+
1702
+cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
1703
+    inferred_value 1 
1704
+};
1705
+
1706
+cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
1707
+    inferred_value 1 
1708
+};
1709
+
1710
+cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
1711
+    inferred_value 1 
1712
+};
1713
+
1714
+cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
1715
+    user_value 1 
1716
+    inferred_value 1 
1717
+};
1718
+
1719
+cdl_option CYGBLD_ISO_FNMATCH_HEADER {
1720
+    user_value 1 
1721
+    inferred_value 1 
1722
+};
1723
+
1724
+cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
1725
+    inferred_value 1 
1726
+};
1727
+
1728
+cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
1729
+    inferred_value 1 
1730
+};
1731
+
1732
+cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
1733
+    inferred_value 1 
1734
+};
1735
+
1736
+cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
1737
+    inferred_value 1 
1738
+};
1739
+
1740
+cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
1741
+    inferred_value 1 
1742
+};
1743
+
1744
+cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
1745
+    inferred_value 1 
1746
+};
1747
+
1748
+cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
1749
+    inferred_value 1 
1750
+};
1751
+
1752
+cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
1753
+    inferred_value 1 
1754
+};
1755
+
1756
+cdl_option CYGBLD_ISO_SETJMP_HEADER {
1757
+    inferred_value 1 
1758
+};
1759
+
1760
+cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
1761
+    inferred_value 1 
1762
+};
1763
+
1764
+cdl_option CYGBLD_ISO_DIRENT_HEADER {
1765
+    inferred_value 1 
1766
+};
1767
+
1768
+cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
1769
+    inferred_value 1 
1770
+};
1771
+
1772
+cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
1773
+    inferred_value 1 
1774
+};
1775
+
1776
+cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
1777
+    inferred_value 1 
1778
+};
1779
+
1780
+cdl_option CYGBLD_ISO_UTSNAME_HEADER {
1781
+    inferred_value 1 
1782
+};
1783
+
1784
+cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
1785
+    inferred_value 1 
1786
+};
1787
+
1788
+cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
1789
+    inferred_value 1 
1790
+};
1791
+
1792
+cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
1793
+    inferred_value 1 
1794
+};
1795
+
1796
+cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
1797
+    inferred_value 1 
1798
+};
1799
+
1800
+cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
1801
+    inferred_value 1 
1802
+};
1803
+
1804
+cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
1805
+    inferred_value 1 
1806
+};
1807
+
1808
+cdl_option CYGBLD_ISO_DNS_HEADER {
1809
+    inferred_value 1 
1810
+};
1811
+
1812
+cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
1813
+    inferred_value 1 
1814
+};
1815
+
1816
+cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
1817
+    inferred_value 1 
1818
+};
1819
+
1820
+cdl_option CYGIMP_KERNEL_SCHED_SORTED_QUEUES {
1821
+    inferred_value 1
1822
+};
1823
+
1824
+cdl_option CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE {
1825
+    inferred_value 1
1826
+};
1827
+
1828
+cdl_component CYGSEM_KERNEL_SCHED_ASR_SUPPORT {
1829
+    inferred_value 1
1830
+};
1831
+
1832
+cdl_option CYGSEM_KERNEL_SCHED_ASR_GLOBAL {
1833
+    inferred_value 1
1834
+};
1835
+
1836
+cdl_component CYGPKG_KERNEL_THREADS_DESTRUCTORS {
1837
+    inferred_value 1
1838
+};
1839
+
1840
+cdl_option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT {
1841
+    user_value 0
1842
+};
1843
+
1844
+cdl_component CYGHWR_NET_DRIVER_ETH0_MANUAL {
1845
+    user_value 0
1846
+};
1847
+
1848
+cdl_component CYGHWR_NET_DRIVER_ETH0_BOOTP {
1849
+    user_value 0
1850
+};
1851
+
1852
+cdl_component CYGHWR_NET_DRIVER_ETH0_ADDRS {
1853
+    user_value 1
1854
+};
1855
+
1856
+
1857
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_RAM.ecm ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_RAM.ecm
1858 8 qaztronic
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_RAM.ecm      1969-12-31 16:00:00.000000000 -0800
1859 10 qaztronic
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_RAM.ecm        2009-12-04 15:45:07.000000000 -0800
1860 8 qaztronic
@@ -0,0 +1,104 @@
1861
+cdl_savefile_version 1;
1862
+cdl_savefile_command cdl_savefile_version {};
1863
+cdl_savefile_command cdl_savefile_command {};
1864
+cdl_savefile_command cdl_configuration { description hardware template package };
1865
+cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
1866
+cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
1867
+cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
1868
+cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
1869
+
1870
+cdl_configuration eCos {
1871
+    description "" ;
1872
+    hardware    olpcl2294 ;
1873
+    template    redboot ;
1874
+    package -hardware CYGPKG_HAL_ARM v3_0 ;
1875
+    package -hardware CYGPKG_HAL_ARM_LPC2XXX v3_0 ;
1876
+    package -hardware CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294 v3_0 ;
1877
+    package -hardware CYGPKG_DEVS_FLASH_STRATA_V2 v3_0 ;
1878
+    package -hardware CYGPKG_DEVS_FLASH_ARM_OLPCX2294_V2 v3_0 ;
1879
+    package -hardware CYGPKG_DEVS_ETH_CL_CS8900A v3_0 ;
1880
+    package -hardware CYGPKG_DEVS_ETH_ARM_OLPCL2294 v3_0 ;
1881
+    package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X v3_0 ;
1882
+    package -hardware CYGPKG_IO_SERIAL_ARM_LPC2XXX v3_0 ;
1883
+    package -hardware CYGPKG_DEVICES_WATCHDOG_ARM_LPC2XXX v3_0 ;
1884
+    package -template CYGPKG_HAL v3_0 ;
1885
+    package -template CYGPKG_INFRA v3_0 ;
1886
+    package -template CYGPKG_REDBOOT v3_0 ;
1887
+    package -template CYGPKG_ISOINFRA v3_0 ;
1888
+    package -template CYGPKG_LIBC_STRING v3_0 ;
1889
+    package -template CYGPKG_CRC v3_0 ;
1890
+    package CYGPKG_IO_ETH_DRIVERS v3_0 ;
1891
+    package CYGPKG_NS_DNS v3_0 ;
1892
+    package CYGPKG_COMPRESS_ZLIB v3_0 ;
1893
+    package CYGPKG_IO_FLASH v3_0 ;
1894
+};
1895
+
1896
+cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
1897
+    inferred_value 0
1898
+};
1899
+
1900
+cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
1901
+    inferred_value 0
1902
+};
1903
+
1904
+cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
1905
+    user_value 4096
1906
+};
1907
+
1908
+cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
1909
+    user_value 0
1910
+};
1911
+
1912
+cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
1913
+    inferred_value 0
1914
+};
1915
+
1916
+cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
1917
+    inferred_value 1
1918
+};
1919
+
1920
+cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
1921
+    inferred_value 0 0
1922
+};
1923
+
1924
+cdl_component CYGHWR_HAL_ARM_LPC2XXX {
1925
+    inferred_value LPC2294
1926
+};
1927
+
1928
+cdl_component CYGBLD_BUILD_REDBOOT {
1929
+    user_value 1
1930
+};
1931
+
1932
+cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
1933
+    inferred_value 0
1934
+};
1935
+
1936
+cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
1937
+    inferred_value 1 
1938
+};
1939
+
1940
+cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
1941
+    inferred_value 1 
1942
+};
1943
+
1944
+cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
1945
+    inferred_value 1 
1946
+};
1947
+
1948
+cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
1949
+    inferred_value 1 
1950
+};
1951
+
1952
+cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
1953
+    inferred_value 1 
1954
+};
1955
+
1956
+cdl_option CYGBLD_ISO_DNS_HEADER {
1957
+    inferred_value 1 
1958
+};
1959
+
1960
+cdl_option CYGPKG_NS_DNS_BUILD {
1961
+    inferred_value 0
1962
+};
1963
+
1964
+
1965 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM.ecm ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM.ecm
1966 8 qaztronic
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM.ecm      1969-12-31 16:00:00.000000000 -0800
1967 10 qaztronic
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM.ecm        2009-12-04 17:20:22.000000000 -0800
1968 8 qaztronic
@@ -0,0 +1,112 @@
1969
+cdl_savefile_version 1;
1970
+cdl_savefile_command cdl_savefile_version {};
1971
+cdl_savefile_command cdl_savefile_command {};
1972
+cdl_savefile_command cdl_configuration { description hardware template package };
1973
+cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
1974
+cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
1975
+cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
1976
+cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
1977
+
1978
+cdl_configuration eCos {
1979
+    description "" ;
1980
+    hardware    de1_olpcl2294 ;
1981
+    template    redboot ;
1982
+    package -hardware CYGPKG_HAL_ARM v3_0 ;
1983
+    package -hardware CYGPKG_HAL_ARM_LPC2XXX v3_0 ;
1984
+    package -hardware CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294 v3_0 ;
1985
+    package -hardware CYGPKG_DEVS_FLASH_STRATA_V2 v3_0 ;
1986
+    package -hardware CYGPKG_DEVS_FLASH_ARM_DE1_OLPCX2294_V2 v3_0 ;
1987
+    package -hardware CYGPKG_DEVS_ETH_CL_CS8900A v3_0 ;
1988
+    package -hardware CYGPKG_DEVS_ETH_ARM_OLPCL2294 v3_0 ;
1989
+    package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X v3_0 ;
1990
+    package -hardware CYGPKG_IO_SERIAL_ARM_LPC2XXX v3_0 ;
1991
+    package -hardware CYGPKG_DEVICES_WATCHDOG_ARM_LPC2XXX v3_0 ;
1992
+    package -template CYGPKG_HAL v3_0 ;
1993
+    package -template CYGPKG_INFRA v3_0 ;
1994
+    package -template CYGPKG_REDBOOT v3_0 ;
1995
+    package -template CYGPKG_ISOINFRA v3_0 ;
1996
+    package -template CYGPKG_LIBC_STRING v3_0 ;
1997
+    package -template CYGPKG_CRC v3_0 ;
1998
+    package CYGPKG_IO_ETH_DRIVERS v3_0 ;
1999
+    package CYGPKG_NS_DNS v3_0 ;
2000
+    package CYGPKG_COMPRESS_ZLIB v3_0 ;
2001
+    package CYGPKG_IO_FLASH v3_0 ;
2002
+};
2003
+
2004
+cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
2005
+    inferred_value 0
2006
+};
2007
+
2008
+cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
2009
+    inferred_value 0
2010
+};
2011
+
2012
+cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
2013
+    user_value 4096
2014
+};
2015
+
2016
+cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
2017
+    user_value 0
2018
+};
2019
+
2020
+cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
2021
+    inferred_value 0
2022
+};
2023
+
2024
+cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
2025
+    inferred_value 1
2026
+};
2027
+
2028
+cdl_option CYGSEM_HAL_ROM_MONITOR {
2029
+    inferred_value 1
2030
+};
2031
+
2032
+cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
2033
+    inferred_value 0 0
2034
+};
2035
+
2036
+cdl_component CYGHWR_HAL_ARM_LPC2XXX {
2037
+    inferred_value LPC2294
2038
+};
2039
+
2040
+cdl_component CYG_HAL_STARTUP {
2041
+    inferred_value ROM
2042
+};
2043
+
2044
+cdl_component CYGBLD_BUILD_REDBOOT {
2045
+    user_value 1
2046
+};
2047
+
2048
+cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
2049
+    inferred_value 0
2050
+};
2051
+
2052
+cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
2053
+    inferred_value 1 
2054
+};
2055
+
2056
+cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
2057
+    inferred_value 1 
2058
+};
2059
+
2060
+cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
2061
+    inferred_value 1 
2062
+};
2063
+
2064
+cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
2065
+    inferred_value 1 
2066
+};
2067
+
2068
+cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
2069
+    inferred_value 1 
2070
+};
2071
+
2072
+cdl_option CYGBLD_ISO_DNS_HEADER {
2073
+    inferred_value 1 
2074
+};
2075
+
2076
+cdl_option CYGPKG_NS_DNS_BUILD {
2077
+    inferred_value 0
2078
+};
2079
+
2080
+
2081 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM_minimal.ecm ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM_minimal.ecm
2082 8 qaztronic
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM_minimal.ecm      1969-12-31 16:00:00.000000000 -0800
2083 10 qaztronic
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM_minimal.ecm        2009-12-04 15:45:07.000000000 -0800
2084 8 qaztronic
@@ -0,0 +1,100 @@
2085
+cdl_savefile_version 1;
2086
+cdl_savefile_command cdl_savefile_version {};
2087
+cdl_savefile_command cdl_savefile_command {};
2088
+cdl_savefile_command cdl_configuration { description hardware template package };
2089
+cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
2090
+cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
2091
+cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
2092
+cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
2093
+
2094
+cdl_configuration eCos {
2095
+    description "" ;
2096
+    hardware    olpcl2294 ;
2097
+    template    redboot ;
2098
+    package -hardware CYGPKG_HAL_ARM v3_0 ;
2099
+    package -hardware CYGPKG_HAL_ARM_LPC2XXX v3_0 ;
2100
+    package -hardware CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294 v3_0 ;
2101
+    package -hardware CYGPKG_DEVS_FLASH_STRATA_V2 v3_0 ;
2102
+    package -hardware CYGPKG_DEVS_FLASH_ARM_OLPCX2294_V2 v3_0 ;
2103
+    package -hardware CYGPKG_DEVS_ETH_CL_CS8900A v3_0 ;
2104
+    package -hardware CYGPKG_DEVS_ETH_ARM_OLPCL2294 v3_0 ;
2105
+    package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X v3_0 ;
2106
+    package -hardware CYGPKG_IO_SERIAL_ARM_LPC2XXX v3_0 ;
2107
+    package -hardware CYGPKG_DEVICES_WATCHDOG_ARM_LPC2XXX v3_0 ;
2108
+    package -template CYGPKG_HAL v3_0 ;
2109
+    package -template CYGPKG_INFRA v3_0 ;
2110
+    package -template CYGPKG_REDBOOT v3_0 ;
2111
+    package -template CYGPKG_ISOINFRA v3_0 ;
2112
+    package -template CYGPKG_LIBC_STRING v3_0 ;
2113
+    package -template CYGPKG_CRC v3_0 ;
2114
+};
2115
+
2116
+cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
2117
+    inferred_value 0
2118
+};
2119
+
2120
+cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
2121
+    inferred_value 0
2122
+};
2123
+
2124
+cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
2125
+    user_value 4096
2126
+};
2127
+
2128
+cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
2129
+    user_value 0
2130
+};
2131
+
2132
+cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
2133
+    inferred_value 0
2134
+};
2135
+
2136
+cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
2137
+    inferred_value 1
2138
+};
2139
+
2140
+cdl_option CYGSEM_HAL_ROM_MONITOR {
2141
+    inferred_value 1
2142
+};
2143
+
2144
+cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
2145
+    inferred_value 0 0
2146
+};
2147
+
2148
+cdl_component CYGHWR_HAL_ARM_LPC2XXX {
2149
+    inferred_value LPC2294
2150
+};
2151
+
2152
+cdl_component CYG_HAL_STARTUP {
2153
+    inferred_value ROM
2154
+};
2155
+
2156
+cdl_component CYGBLD_BUILD_REDBOOT {
2157
+    user_value 1
2158
+};
2159
+
2160
+cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
2161
+    inferred_value 0
2162
+};
2163
+
2164
+cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
2165
+    inferred_value 1 
2166
+};
2167
+
2168
+cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
2169
+    inferred_value 1 
2170
+};
2171
+
2172
+cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
2173
+    inferred_value 1 
2174
+};
2175
+
2176
+cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
2177
+    inferred_value 1 
2178
+};
2179
+
2180
+cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
2181
+    inferred_value 1 
2182
+};
2183
+
2184
+
2185 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/de1_olpcl2294_misc.c ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/de1_olpcl2294_misc.c
2186 8 qaztronic
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/de1_olpcl2294_misc.c  1969-12-31 16:00:00.000000000 -0800
2187 10 qaztronic
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/de1_olpcl2294_misc.c    2009-12-04 15:45:07.000000000 -0800
2188 8 qaztronic
@@ -0,0 +1,109 @@
2189
+//==========================================================================
2190
+//
2191
+//      olpcl2294_misc.c
2192
+//
2193
+//      HAL misc board support code for Olimex LPC-L2294-1MB development
2194
+//      board
2195
+//
2196
+//==========================================================================
2197
+// ####ECOSGPLCOPYRIGHTBEGIN####
2198
+// -------------------------------------------
2199
+// This file is part of eCos, the Embedded Configurable Operating System.
2200
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, Inc.
2201
+//
2202
+// eCos is free software; you can redistribute it and/or modify it under
2203
+// the terms of the GNU General Public License as published by the Free
2204
+// Software Foundation; either version 2 or (at your option) any later
2205
+// version.
2206
+//
2207
+// eCos is distributed in the hope that it will be useful, but WITHOUT
2208
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
2209
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
2210
+// for more details.
2211
+//
2212
+// You should have received a copy of the GNU General Public License
2213
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
2214
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
2215
+//
2216
+// As a special exception, if other files instantiate templates or use
2217
+// macros or inline functions from this file, or you compile this file
2218
+// and link it with other works to produce a work based on this file,
2219
+// this file does not by itself cause the resulting work to be covered by
2220
+// the GNU General Public License. However the source code for this file
2221
+// must still be made available in accordance with section (3) of the GNU
2222
+// General Public License v2.
2223
+//
2224
+// This exception does not invalidate any other reasons why a work based
2225
+// on this file might be covered by the GNU General Public License.
2226
+// -------------------------------------------
2227
+// ####ECOSGPLCOPYRIGHTEND####
2228
+//==========================================================================
2229
+//#####DESCRIPTIONBEGIN####
2230
+//
2231
+// Author(s):     Sergei Gavrikov
2232
+// Contributors:  Sergei Gavrikov
2233
+// Date:          2008-08-31
2234
+// Purpose:       HAL board support
2235
+// Description:   Implementations of HAL board interfaces
2236
+//
2237
+//####DESCRIPTIONEND####
2238
+//
2239
+//========================================================================*/
2240
+
2241
+#include 
2242
+#include      // IO macros
2243
+#include    // Register state info
2244
+
2245
+#include  // base types
2246
+#include 
2247
+
2248
+#include 
2249
+#include 
2250
+
2251
+extern void cyg_hal_plf_serial_init (void);
2252
+
2253
+//--------------------------------------------------------------------------
2254
+// hal_lpc2xxx_set_leds --
2255
+//
2256
+// There is one diagnostic LED marked 'STAT' on the board
2257
+//
2258
+void
2259
+hal_lpc2xxx_set_leds (int mask)
2260
+{
2261
+    HAL_WRITE_UINT32 (CYGARC_HAL_LPC2XXX_REG_IO_BASE +
2262
+                      CYGARC_HAL_LPC2XXX_REG_IO1SET, (1 << 23));
2263
+    if (mask & 1)
2264
+        HAL_WRITE_UINT32 (CYGARC_HAL_LPC2XXX_REG_IO_BASE +
2265
+                          CYGARC_HAL_LPC2XXX_REG_IO1CLR, (1 << 23));
2266
+}
2267
+
2268
+//--------------------------------------------------------------------------
2269
+// cyg_hal_plf_comms_init  --
2270
+//
2271
+void
2272
+cyg_hal_plf_comms_init (void)
2273
+{
2274
+    static int initialized = 0;
2275
+
2276
+    if (initialized)
2277
+        return;
2278
+    initialized = 1;
2279
+
2280
+    cyg_hal_plf_serial_init ();
2281
+}
2282
+
2283
+#ifdef HAL_PLF_HARDWARE_INIT
2284
+//--------------------------------------------------------------------------
2285
+// hal_plf_hardware_init --
2286
+//
2287
+void
2288
+hal_plf_hardware_init (void)
2289
+{
2290
+    // configure IRQ level from CL CS8900A
2291
+    cyg_drv_interrupt_configure (CYGNUM_HAL_INTERRUPT_EINT2, 0, 1);
2292
+}
2293
+#endif // HAL_PLF_HARDWARE_INIT
2294
+
2295
+// indent: --indent-level4 -br -nut; vim: expandtab tabstop=4 shiftwidth=4
2296
+//--------------------------------------------------------------------------
2297
+// EOF olpcl2294_misc.c
2298 10 qaztronic
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/redboot_cmds.c ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/redboot_cmds.c
2299 8 qaztronic
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/redboot_cmds.c        1969-12-31 16:00:00.000000000 -0800
2300 10 qaztronic
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/redboot_cmds.c  2009-12-04 15:45:07.000000000 -0800
2301 8 qaztronic
@@ -0,0 +1,115 @@
2302
+//==========================================================================
2303
+//
2304
+//      redboot_cmds.c
2305
+//
2306
+//      OLPCL2294 [platform] specific RedBoot commands
2307
+//
2308
+//==========================================================================
2309
+// ####ECOSGPLCOPYRIGHTBEGIN####
2310
+// -------------------------------------------
2311
+// This file is part of eCos, the Embedded Configurable Operating System.
2312
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, Inc.
2313
+//
2314
+// eCos is free software; you can redistribute it and/or modify it under
2315
+// the terms of the GNU General Public License as published by the Free
2316
+// Software Foundation; either version 2 or (at your option) any later
2317
+// version.
2318
+//
2319
+// eCos is distributed in the hope that it will be useful, but WITHOUT
2320
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
2321
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
2322
+// for more details.
2323
+//
2324
+// You should have received a copy of the GNU General Public License
2325
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
2326
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
2327
+//
2328
+// As a special exception, if other files instantiate templates or use
2329
+// macros or inline functions from this file, or you compile this file
2330
+// and link it with other works to produce a work based on this file,
2331
+// this file does not by itself cause the resulting work to be covered by
2332
+// the GNU General Public License. However the source code for this file
2333
+// must still be made available in accordance with section (3) of the GNU
2334
+// General Public License v2.
2335
+//
2336
+// This exception does not invalidate any other reasons why a work based
2337
+// on this file might be covered by the GNU General Public License.
2338
+// -------------------------------------------
2339
+// ####ECOSGPLCOPYRIGHTEND####
2340
+//==========================================================================
2341
+//#####DESCRIPTIONBEGIN####
2342
+//
2343
+// Author(s):     Sergei Gavrikov
2344
+// Contributors:  Sergei Gavrikov
2345
+// Date:          2008-08-31
2346
+// Purpose:
2347
+// Description:
2348
+//
2349
+// This code is part of RedBoot (tm).
2350
+//
2351
+//####DESCRIPTIONEND####
2352
+//
2353
+//========================================================================*/
2354
+
2355
+#include 
2356
+#include 
2357
+
2358
+// CLI functions
2359
+static void do_echo (int argc, char *argv[]);
2360
+RedBoot_cmd ("echo",
2361
+             "Outputs the args. If -n is specified, the trailing newline is suppressed.",
2362
+             "-n [arg ...]", do_echo);
2363
+
2364
+static void do_led (int argc, char *argv[]);
2365
+RedBoot_cmd ("led", "Manage diagnostic led(s)", "[-m mask]", do_led);
2366
+
2367
+//--------------------------------------------------------------------------
2368
+// do_echo --
2369
+//
2370
+static void
2371
+do_echo (int argc, char *argv[])
2372
+{
2373
+    bool newline = true;
2374
+    if (argc > 1) {
2375
+        int i = 1;
2376
+        if (strncmp (&argv[i][0], "-n", 2) == 0) {
2377
+            newline = false;
2378
+            i++;
2379
+        }
2380
+        for (; i < argc; i++) {
2381
+            diag_write_string (&argv[i][0]);
2382
+            if ((argc - i) > 1)
2383
+                diag_write_char (' ');
2384
+        }
2385
+    }
2386
+    if (newline)
2387
+        diag_write_char ('\n');
2388
+    return;
2389
+}
2390
+
2391
+//--------------------------------------------------------------------------
2392
+// do_led --
2393
+//
2394
+static void
2395
+do_led (int argc, char *argv[])
2396
+{
2397
+    struct option_info opts[1];
2398
+    unsigned long mask;
2399
+    bool mask_set;
2400
+
2401
+    init_opts (&opts[0], 'm', true, OPTION_ARG_TYPE_NUM,
2402
+               &mask, &mask_set, "mask");
2403
+    if (!scan_opts (argc, argv, 1, opts, 1, 0, 0, "")) {
2404
+        return;
2405
+    }
2406
+    if (!mask_set) {
2407
+        diag_printf ("led what ?\n");
2408
+        return;
2409
+    }
2410
+    hal_lpc2xxx_set_leds (mask);
2411
+    return;
2412
+}
2413
+
2414
+// indent: --indent-level4 -br -nut; vim: expandtab tabstop=4 shiftwidth=4
2415
+//--------------------------------------------------------------------------
2416
+// EOF redboot_cmds.c

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.