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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [mips/] [vrc437x/] [v2_0/] [include/] [platform.inc] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
#ifndef CYGONCE_HAL_PLATFORM_INC
2
#define CYGONCE_HAL_PLATFORM_INC
3
##=============================================================================
4
##
5
##      platform.inc
6
##
7
##      DDB-VRC4373 board assembler header file
8
##
9
##=============================================================================
10
#####ECOSGPLCOPYRIGHTBEGIN####
11
## -------------------------------------------
12
## This file is part of eCos, the Embedded Configurable Operating System.
13
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
14
##
15
## eCos is free software; you can redistribute it and/or modify it under
16
## the terms of the GNU General Public License as published by the Free
17
## Software Foundation; either version 2 or (at your option) any later version.
18
##
19
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
20
## WARRANTY; without even the implied warranty of MERCHANTABILITY or
21
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
22
## for more details.
23
##
24
## You should have received a copy of the GNU General Public License along
25
## with eCos; if not, write to the Free Software Foundation, Inc.,
26
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
27
##
28
## As a special exception, if other files instantiate templates or use macros
29
## or inline functions from this file, or you compile this file and link it
30
## with other works to produce a work based on this file, this file does not
31
## by itself cause the resulting work to be covered by the GNU General Public
32
## License. However the source code for this file must still be made available
33
## in accordance with section (3) of the GNU General Public License.
34
##
35
## This exception does not invalidate any other reasons why a work based on
36
## this file might be covered by the GNU General Public License.
37
##
38
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
39
## at http://sources.redhat.com/ecos/ecos-license/
40
## -------------------------------------------
41
#####ECOSGPLCOPYRIGHTEND####
42
##=============================================================================
43
#######DESCRIPTIONBEGIN####
44
##
45
## Author(s):   nickg
46
## Contributors:        nickg
47
## Date:        1999-04-06
48
## Purpose:     VRC4373 board definitions.
49
## Description: This file contains various definitions and macros that are
50
##              useful for writing assembly code for the VRC4373 board.
51
## Usage:
52
##              #include 
53
##              ...
54
##
55
##
56
######DESCRIPTIONEND####
57
##
58
##=============================================================================
59
 
60
#include 
61
 
62
##-----------------------------------------------------------------------------
63
## VRC4372 registers
64
 
65
#define CYGHWR_HAL_MIPS_VRC4373_BASE            0xbc000000
66
#define CYGHWR_HAL_MIPS_VRC4373_INTC_POL        (CYGHWR_HAL_MIPS_VRC4373_BASE+0x200)
67
#define CYGHWR_HAL_MIPS_VRC4373_INTC_TRIG       (CYGHWR_HAL_MIPS_VRC4373_BASE+0x204)
68
#define CYGHWR_HAL_MIPS_VRC4373_INTC_PINS       (CYGHWR_HAL_MIPS_VRC4373_BASE+0x208)
69
#define CYGHWR_HAL_MIPS_VRC4373_INTC_MASK0      (CYGHWR_HAL_MIPS_VRC4373_BASE+0x20c)
70
#define CYGHWR_HAL_MIPS_VRC4373_INTC_STAT0      (CYGHWR_HAL_MIPS_VRC4373_BASE+0x210)
71
#define CYGHWR_HAL_MIPS_VRC4373_INTC_MASK1      (CYGHWR_HAL_MIPS_VRC4373_BASE+0x214)
72
#define CYGHWR_HAL_MIPS_VRC4373_INTC_STAT1      (CYGHWR_HAL_MIPS_VRC4373_BASE+0x218)
73
#define CYGHWR_HAL_MIPS_VRC4373_INTC_MASK2      (CYGHWR_HAL_MIPS_VRC4373_BASE+0x21c)
74
#define CYGHWR_HAL_MIPS_VRC4373_INTC_STAT2      (CYGHWR_HAL_MIPS_VRC4373_BASE+0x220)
75
 
76
##-----------------------------------------------------------------------------
77
## configure the architecture HAL to define the right things.
78
 
79
## ISR tables are defined in platform.S
80
#define CYG_HAL_MIPS_ISR_TABLES_DEFINED
81
 
82
## VSR table is at a fixed RAM address defined by the linker script
83
#define CYG_HAL_MIPS_VSR_TABLE_DEFINED
84
 
85
##-----------------------------------------------------------------------------
86
 
87
#if defined(CYGSEM_HAL_USE_ROM_MONITOR_PMON)
88
 
89
## Initial SR value for use with PMON:
90
## CP0 usable
91
## Vectors to RAM
92
## All hw ints disabled
93
#define INITIAL_SR_PLF  0x10000000
94
 
95
#elif defined(CYGSEM_HAL_USE_ROM_MONITOR_GDB_stubs)
96
 
97
## Initial SR value for use with GDB stubs:
98
## CP0 and CP1 usable
99
## FP registers are 64 bit
100
## Vectors to RAM
101
## All hw ints disabled
102
#define INITIAL_SR_PLF  0x34000000
103
 
104
#else
105
 
106
## Initial SR value for use standalone:
107
## CP0 usable
108
## Vectors to RAM
109
## All hw ints disabled
110
#define INITIAL_SR_PLF  0x10000000
111
 
112
#endif
113
 
114
#------------------------------------------------------------------------------
115
## Load Address and Relocate. This macro is used in code that may be
116
## linked to execute out of RAM but is actually executed from ROM. The
117
## code that initializes the memory controller and copies the ROM
118
## contents to RAM must work in this way, for example. This macro is used
119
## in place of an "la" macro instruction when loading code and data
120
## addresses.  There are two versions of the macro here. The first
121
## assumes that we are executing in the ROM space at 0xbfc00000 and are
122
## linked to run in the RAM space at 0x80000000.  It simply adds the
123
## difference between the two to the loaded address.  The second is more
124
## code, but will execute correctly at either location since it
125
## calculates the difference at runtime.  The second variant is enabled
126
## by default.
127
 
128
 
129
#ifdef CYG_HAL_STARTUP_ROMRAM
130
 
131
#if 0
132
        .macro  lar     reg,addr
133
        .set    noat
134
        la      \reg,\addr
135
        la      $at,0x3fc00000
136
        addu    \reg,\reg,$at
137
        .set    at
138
        .endm
139
#else
140
        .macro  lar     reg,addr
141
        .set    noat
142
        move    $at,ra                  # save ra
143
        la      \reg,\addr              # get address into register
144
        la      ra,x\@                  # get linked address of label
145
        subu    \reg,\reg,ra            # subtract it from value
146
        bal     x\@                     # branch and link to label
147
        nop                             #  to get current actual address
148
x\@:
149
        addu    \reg,\reg,ra            # add actual address
150
        move    ra,$at                  # restore ra
151
        .set    at
152
        .endm
153
 
154
#endif
155
 
156
#define CYGPKG_HAL_MIPS_LAR_DEFINED
157
 
158
#endif
159
 
160
#------------------------------------------------------------------------------
161
# MMU macros.
162
# The MMU must be set up on this board before we can access any external devices,
163
# including the memory controller, so we have no RAM to work with yet.
164
# Since the setup code must work only in registers, we do not do a subroutine
165
# linkage here, instead the setup code knows to jump back here when finished.
166
 
167
#if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM)
168
 
169
        .macro  hal_mmu_init
170
        .extern hal_mmu_setup
171
        lar     k0,hal_mmu_setup
172
        jr      k0
173
        nop
174
        .global hal_mmu_setup_return
175
hal_mmu_setup_return:
176
        .endm
177
 
178
#define CYGPKG_HAL_MIPS_MMU_DEFINED
179
 
180
#endif
181
 
182
#------------------------------------------------------------------------------
183
# MEMC macros.
184
#
185
 
186
#if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM)
187
 
188
        .macro  hal_memc_init
189
        .extern hal_memc_setup
190
        lar     k0,hal_memc_setup
191
        jalr    k0
192
        nop
193
 
194
#if defined(CYG_HAL_STARTUP_ROMRAM)
195
        # Having got the RAM working, we must now relocate the Entire
196
        # ROM into it and then continue execution from RAM.
197
 
198
        la      t0,reset_vector         # dest addr
199
        lar     t1,reset_vector         # source addr
200
        la      t3,__ram_data_end       # end dest addr
201
1:
202
        lw      v0,0(t1)                # get word
203
        sw      v0,0(t0)                # write word
204
        addiu   t1,t1,4
205
        addiu   t0,t0,4
206
        bne     t0,t3,1b
207
        nop
208
 
209
        la      v0,2f                   # RAM address to go to
210
        jr      v0
211
        nop
212
2:
213
        # We are now executing out of RAM!
214
#endif
215
 
216
        .endm
217
 
218
#define CYGPKG_HAL_MIPS_MEMC_DEFINED
219
 
220
#endif
221
 
222
#------------------------------------------------------------------------------
223
# Interrupt controller initialization.
224
 
225
        # initialize all interrupts to disabled
226
        .macro  hal_intc_init
227
        mfc0    v0,status
228
        nop
229
        la      v1,0xFFFF00FF
230
        and     v0,v0,v1                # clear the IntMask bits
231
        ori     v0,v0,0x3800            # set 3 IPL bits
232
        mtc0    v0,status
233
        nop
234
        nop
235
        nop
236
        # mask them all in the VRC4372 interrupt controller too,
237
        # and write zeros to the status registers to clear any
238
        # pending interrupts.
239
        la      v0,CYGHWR_HAL_MIPS_VRC4373_INTC_MASK0
240
        sw      zero,0(v0)
241
        sw      zero,4(v0)
242
        sw      zero,8(v0)
243
        sw      zero,12(v0)
244
        sw      zero,16(v0)
245
        sw      zero,20(v0)
246
        .endm
247
 
248
#define CYGPKG_HAL_MIPS_INTC_INIT_DEFINED
249
 
250
#------------------------------------------------------------------------------
251
# Interrupt Translator.
252
# This translates an interrupt number into an ISR table offset. Vector 0
253
# contains a special ISR for dealing with spurious interrupts from the
254
# Vrc437x, and vectors 1-3 contain springboards, so we chain via vector 4.
255
# This macro translates interrupt 0 to vector 0 and all others to vector 4.
256
 
257
#ifndef CYGPKG_HAL_MIPS_INTC_TRANSLATE_DEFINED
258
#ifdef CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN
259
        .macro  hal_intc_translate inum,vnum
260
        beqz    \inum,1f        # jump if interrupt is zero
261
         move   v0,zero         # set v0=0 in delay slot
262
        addi    v0,v0,4         # non zero vector, inc v0
263
1:      move    \vnum,v0        # store 0 or 4 in vnum
264
        .endm
265
#define CYGPKG_HAL_MIPS_INTC_TRANSLATE_DEFINED
266
#endif
267
#endif
268
 
269
#------------------------------------------------------------------------------
270
# Monitor initialization.
271
 
272
#ifndef CYGPKG_HAL_MIPS_MON_DEFINED
273
 
274
 
275
        .macro  hal_mon_init
276
 
277
        hal_mon_copy_trampoline
278
 
279
        hal_mon_init_vsr_table
280
 
281
        .endm
282
 
283
 
284
#if defined(CYGSEM_HAL_USE_ROM_MONITOR_PMON)
285
 
286
        # Copy the other_vector trampoline code into the RAM
287
        # area so we intercept all interrupts.
288
 
289
        .macro  hal_mon_copy_trampoline
290
        la      a0,other_vector
291
        la      a1,other_vector_end
292
        la      t0,0xa0000180
293
1:
294
        lw      v0,0(a0)
295
        sw      v0,0(t0)
296
        addiu   a0,a0,4
297
        bne     a0,a1,1b
298
        addiu   t0,t0,4
299
        .endm
300
 
301
 
302
        # plant a pointer to the breakpoint springboard into the
303
        # correct vsr table slot.
304
 
305
        .macro  hal_mon_init_vsr_table
306
        .extern hal_breakpoint_springboard
307
        la      v1,hal_vsr_table
308
 
309
        # Plant the interrupt VSR
310
        la      v0,__default_interrupt_vsr
311
        sw      v0,(0*4)(v1)
312
 
313
        # And the breakpoint VSR
314
        la      v0,hal_breakpoint_springboard
315
        sw      v0,(9*4)(v1)
316
 
317
        # Temporarily also plant all the others, so all exceptions
318
        # go to PMON.
319
        sw      v0,(4*4)(v1)
320
        sw      v0,(5*4)(v1)
321
        sw      v0,(6*4)(v1)
322
        sw      v0,(7*4)(v1)
323
        sw      v0,(8*4)(v1)
324
        sw      v0,(10*4)(v1)
325
        sw      v0,(11*4)(v1)
326
        sw      v0,(12*4)(v1)
327
        sw      v0,(13*4)(v1)
328
        sw      v0,(14*4)(v1)
329
        sw      v0,(15*4)(v1)
330
 
331
 
332
        .endm
333
 
334
#elif defined(CYGSEM_HAL_USE_ROM_MONITOR_GDB_stubs)
335
 
336
        # The stubs have a trampoline of their own installed which
337
        # already goes through the VSR table.
338
 
339
        .macro  hal_mon_copy_trampoline
340
        .endm
341
 
342
        # plant a pointer to the interrupt VSR handler in the
343
        # correct vsr table slot. Leave the rest for the monitor.
344
 
345
        .macro  hal_mon_init_vsr_table
346
        la      v0,__default_interrupt_vsr
347
        la      v1,hal_vsr_table
348
        sw      v0,(0*4)(v1)
349
 
350
        # plant a pointer to our own bus error handler. See the
351
        # comments in platform.S.
352
        .extern hal_bus_error_vsr
353
        la      v0,hal_bus_error_vsr
354
        sw      v0,(7*4)(v1)
355
 
356
        .endm
357
 
358
#else
359
        # The other_vector trampoline is already installed as part of
360
        # the executable image. However, the TLB exception is, in RAM
361
        # in the analogous place to the reset vector in ROM. In a
362
        # ROM or ROMRAM startup we need to copy it into place.
363
 
364
#if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM)
365
        .macro  hal_mon_copy_trampoline
366
        la      a0,utlb_vector
367
        la      a1,utlb_vector_end
368
        la      t0,0xa0000000
369
1:
370
        lw      v0,0(a0)
371
        sw      v0,0(t0)
372
        sw      v0,0x80(t0)
373
        addiu   a0,a0,4
374
        bne     a0,a1,1b
375
        addiu   t0,t0,4
376
#if defined(CYG_HAL_STARTUP_ROM)
377
        la      a0,other_vector
378
        la      a1,other_vector_end
379
        la      t0,0xa0000180
380
1:
381
        lw      v0,0(a0)
382
        sw      v0,0(t0)
383
        addiu   a0,a0,4
384
        bne     a0,a1,1b
385
        addiu   t0,t0,4
386
#endif
387
        .endm
388
#else
389
        .macro  hal_mon_copy_trampoline
390
        .endm
391
#endif
392
 
393
        # Fill the VSR table with the default VSRs.
394
        # If we contain the stubs, the default VSR will pass
395
        # exceptions on to the stubs.
396
 
397
        .macro  hal_mon_init_vsr_table
398
        la      v0,__default_exception_vsr
399
        la      v1,hal_vsr_table
400
 
401
        sw      v0,(1*4)(v1)
402
        sw      v0,(2*4)(v1)
403
        sw      v0,(3*4)(v1)
404
        sw      v0,(4*4)(v1)
405
        sw      v0,(5*4)(v1)
406
        sw      v0,(6*4)(v1)
407
#       sw      v0,(7*4)(v1)    # Bus error
408
        sw      v0,(8*4)(v1)
409
        sw      v0,(9*4)(v1)
410
        sw      v0,(10*4)(v1)
411
        sw      v0,(11*4)(v1)
412
        sw      v0,(12*4)(v1)
413
        sw      v0,(13*4)(v1)
414
        sw      v0,(14*4)(v1)
415
        sw      v0,(15*4)(v1)
416
        sw      v0,(23*4)(v1)
417
        sw      v0,(24*4)(v1)
418
#       sw      v0,(32*4)(v1)   # debug
419
        sw      v0,(33*4)(v1)   # utlb
420
        sw      v0,(34*4)(v1)   # nmi
421
 
422
        la      v0,__default_interrupt_vsr
423
        sw      v0,(0*4)(v1)
424
 
425
        # plant a pointer to our own bus error handler. See the
426
        # comments in platform.S.
427
        .extern hal_bus_error_vsr
428
        la      v0,hal_bus_error_vsr
429
        sw      v0,(7*4)(v1)
430
 
431
        .endm
432
 
433
#endif
434
 
435
 
436
#define CYGPKG_HAL_MIPS_MON_DEFINED
437
 
438
#endif
439
 
440
#------------------------------------------------------------------------------
441
# Diagnostic macros
442
 
443
 
444
#ifndef CYGPKG_HAL_MIPS_DIAG_DEFINED
445
 
446
#if 0
447
 
448
        # This code generates characters and hex values to a
449
        # Grammar Engine PromICE AI interface.
450
 
451
#define AILOC   0xbfc70000
452
 
453
        .macro  hal_diag_init
454
        la      v0,AILOC
455
1:
456
        lbu     v1,3(v0)
457
        nop ; nop ; nop
458
        subu    v1,0xCC
459
        beqz    v1,1b
460
        nop
461
        lbu     v1,2(v0)
462
 
463
        b       9f
464
        nop
465
 
466
        .global hal_diag_ai_write_char
467
hal_diag_ai_write_char:
468
 
469
        .set    noat
470
        la      v0,AILOC        # v0 = AI location
471
 
472
1:
473
        lbu     v1,3(v0)        # v1 = status register
474
        nop ; nop ; nop
475
        andi    v1,v1,1         # v1 = TDA bit
476
        bnez    v1,1b           # loop while non-zero
477
        nop
478
 
479
        sll     a0,a0,1         # a0 = a0<<1
480
        ori     a0,a0,0x0201    # or in start and stop bits
481
        li      $at,10          # we have 10 bits to send
482
2:
483
        andi    v1,a0,1         # v1 = ls bit of char
484
        add     v1,v0,v1        # v1 = address of ZERO or ONE register
485
        lbu     zero,0(v1)      # read it to send bit
486
        la      v1,100          # delay a bit to let PROMICE deal with it
487
3:      bnez    v1,3b           # loop while non-zero
488
        add     v1,v1,-1        # decrement in delay slot
489
        srl     a0,a0,1         # a0 = a0>>1
490
        subu    $at,1           # decrement count
491
        bnez    $at,2b          # loop while non-zero
492
        nop
493
 
494
        jr      ra              # all done, return
495
        nop
496
 
497
        .set    at
498
 
499
        .global hal_diag_ai_write_hex1
500
hal_diag_ai_write_hex1:
501
        la      v0,9
502
        andi    a0,a0,0xf
503
        ble     a0,v0,1f
504
        nop
505
        addi    a0,a0,('A'-'9'-1)
506
1:      addi    a0,a0,'0'
507
        b       hal_diag_ai_write_char
508
        nop
509
 
510
        .global hal_diag_ai_write_hex2
511
hal_diag_ai_write_hex2:
512
        move    t0,ra           # save ra
513
        move    t1,a0           # save arg
514
        srl     a0,a0,4         # ms nibble
515
 
516
        bal     hal_diag_ai_write_hex1
517
        nop
518
 
519
        move    a0,t1           # retrieve a0
520
        move    ra,t0           # retrieve ra
521
        b       hal_diag_ai_write_hex1
522
        nop
523
 
524
        .global hal_diag_ai_write_hex4
525
hal_diag_ai_write_hex4:
526
        move    t2,ra           # save ra
527
        move    t3,a0           # save arg
528
        srl     a0,a0,8         # ms byte
529
 
530
        bal     hal_diag_ai_write_hex2
531
        nop
532
 
533
        move    a0,t3           # retrieve a0
534
        move    ra,t2           # retrieve ra
535
        b       hal_diag_ai_write_hex2
536
        nop
537
 
538
 
539
        .global hal_diag_ai_write_hex8
540
hal_diag_ai_write_hex8:
541
        move    t4,ra           # save ra
542
        move    t5,a0           # save arg
543
        srl     a0,a0,16        # ms short
544
 
545
        bal     hal_diag_ai_write_hex4
546
        nop
547
 
548
        move    a0,t5           # retrieve a0
549
        move    ra,t4           # retrieve ra
550
        b       hal_diag_ai_write_hex4
551
        nop
552
 
553
 
554
9:
555
        # Output a '!' to check that the interface is working
556
 
557
        li      a0,'!'
558
        bal     hal_diag_ai_write_char
559
        nop
560
 
561
        .endm
562
 
563
        # Utility macro to emit a character
564
        .macro  hal_diag_writec char
565
        .extern hal_diag_ai_write_char
566
        la      a0,\char
567
        lar     v0,hal_diag_ai_write_char
568
        jalr    v0
569
#       bal     hal_diag_ai_write_char
570
        nop
571
        .endm
572
 
573
#if 0
574
        # This macro outputs a '+', the exception number as a
575
        # character offset from 'A' and the exception address
576
        # in hex.
577
        .macro  hal_diag_excpt_start
578
        hal_diag_writec '+'
579
        srl     k0,k0,2
580
        addi    a0,k0,'A'
581
        jal     hal_diag_ai_write_char
582
        nop
583
        move    a0,t6                   # we know t6 contains the epc value
584
        jal     hal_diag_ai_write_hex8
585
        nop
586
        .endm
587
#else
588
        .macro  hal_diag_excpt_start
589
        .endm
590
#endif
591
 
592
#if 0
593
        # This macro outputs a '=' and the vector number as a
594
        # character offset from 'A'.
595
        .macro  hal_diag_intr_start
596
        .extern hal_diag_ai_write_char
597
        hal_diag_writec '='
598
        addi    a0,s2,'A'
599
        jal     hal_diag_ai_write_char
600
        nop
601
        .endm
602
#else
603
        .macro  hal_diag_intr_start
604
        .endm
605
#endif
606
 
607
#if 0
608
        .macro  hal_diag_restore
609
        hal_diag_writec '^'
610
        lw      a0,mipsreg_pc(sp)
611
        lar     k0,hal_diag_ai_write_hex8
612
        jalr    k0
613
        .endm
614
#else
615
        .macro  hal_diag_restore
616
        .endm
617
#endif
618
 
619
#define CYGPKG_HAL_MIPS_DIAG_DEFINED
620
 
621
#elif 0
622
 
623
#define DELAY(n) \
624
        li      $at,n;          \
625
9:      bnez    $at,9b;         \
626
        subu    $at,1;          \
627
 
628
 /* Zilog Access Delay */
629
#define DELZ            DELAY( (200) )
630
 
631
 
632
        .macro  hal_diag_init
633
        la      v0,0xc2000000
634
        DELZ
635
        lbu     v1,8(v0)
636
        andi    v1,v1,0xfc
637
        DELZ
638
        sb      v1,8(v0)
639
        .endm
640
 
641
        .macro  hal_diag_excpt_start
642
        .endm
643
 
644
        .macro  hal_diag_intr_start
645
        la      v0,0xc2000000
646
        DELZ
647
        lbu     v1,8(v0)
648
        xori    v1,v1,0x01
649
        DELZ
650
        sb      v1,8(v0)
651
        .endm
652
 
653
        .macro  hal_diag_restore
654
        la      v0,0xc2000000
655
        DELZ
656
        lbu     v1,8(v0)
657
        xori    v1,v1,0x01
658
        DELZ
659
        sb      v1,8(v0)
660
 
661
#       li      a0,0x0310                       # a0 = type = INTR,RAISE
662
#       lw      a1,mipsreg_sr(sp)               # a1 = sr
663
#       mfc0    a2,status
664
#       jal     cyg_instrument                  # call instrument function
665
#       nop
666
 
667
        .endm
668
 
669
#define CYGPKG_HAL_MIPS_DIAG_DEFINED
670
 
671
 
672
#endif
673
 
674
#endif
675
 
676
 
677
 
678
#------------------------------------------------------------------------------
679
#endif // ifndef CYGONCE_HAL_PLATFORM_INC
680
# end of platform.inc

powered by: WebSVN 2.1.0

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