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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [devs/] [can/] [arm/] [at91/] [at91sam7/] [current/] [cdl/] [can_at91sam7.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      can_at91sam7.cdl
4
#
5
#      eCos AT91SAM7 CAN module configuration data
6
#
7
# ====================================================================
8
## ####ECOSGPLCOPYRIGHTBEGIN####
9
## -------------------------------------------
10
## This file is part of eCos, the Embedded Configurable Operating System.
11
## Copyright (C) 2003, 2004 Free Software Foundation, Inc.
12
##
13
## eCos is free software; you can redistribute it and/or modify it under
14
## the terms of the GNU General Public License as published by the Free
15
## Software Foundation; either version 2 or (at your option) any later
16
## version.
17
##
18
## eCos is distributed in the hope that it will be useful, but WITHOUT
19
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
21
## for more details.
22
##
23
## You should have received a copy of the GNU General Public License
24
## along with eCos; if not, write to the Free Software Foundation, Inc.,
25
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
26
##
27
## As a special exception, if other files instantiate templates or use
28
## macros or inline functions from this file, or you compile this file
29
## and link it with other works to produce a work based on this file,
30
## this file does not by itself cause the resulting work to be covered by
31
## the GNU General Public License. However the source code for this file
32
## must still be made available in accordance with section (3) of the GNU
33
## General Public License v2.
34
##
35
## This exception does not invalidate any other reasons why a work based
36
## on this file might be covered by the GNU General Public License.
37
## -------------------------------------------
38
## ####ECOSGPLCOPYRIGHTEND####
39
# ====================================================================
40
######DESCRIPTIONBEGIN####
41
#
42
# Author(s):      Uwe Kindler
43
# Contributors:
44
# Date:           2007-02-10
45
#
46
#####DESCRIPTIONEND####
47
# ====================================================================
48
 
49
 
50
cdl_package CYGPKG_DEVS_CAN_AT91SAM7 {
51
    display       "Atmel AT91SAM7 CAN device drivers"
52
    parent        CYGPKG_IO_CAN_DEVICES
53
    active_if     CYGPKG_IO_CAN
54
    active_if     CYGPKG_HAL_ARM_AT91SAM7
55
    requires      CYGPKG_ERROR
56
    include_dir   cyg/io
57
    description   "
58
           This option enables the CAN device drivers for the
59
           Atmel AT91SAM7."
60
    compile       -library=libextras.a   can_at91sam7.c
61
    define_proc {
62
        puts $::cdl_system_header "/***** CAN driver proc output start *****/"
63
        puts $::cdl_system_header "#define CYGDAT_IO_CAN_DEVICE_HEADER "
64
        puts $::cdl_system_header "#define CYGDAT_IO_CAN_DEVICE_INL "
65
        puts $::cdl_system_header "/*****  CAN driver proc output end  *****/"
66
    }
67
 
68
    cdl_interface CYGINT_DEVS_CAN_AT91SAM7_CAN_CHANNELS {
69
        display "AT91SAM7 CAN Channel"
70
        flavor bool
71
        description "
72
               This interface is implemented for each single CAN channnel
73
               of an AT91SAM7 chip and counts the number of available
74
               channels."
75
    }
76
 
77
 
78
    # Support up one on-chip CAN module. The number may vary between
79
    # processor variants so it is easy to update this here
80
    for { set ::sam7can 0 } { $::sam7can < 1 } { incr ::sam7can } {
81
 
82
        cdl_interface CYGINT_DEVS_CAN_AT91SAM7_CAN[set ::sam7can] {
83
            display     "Platform provides CAN [set ::sam7can]"
84
            flavor      bool
85
            description "
86
                This interface will be implemented if the specific AT91SAM7
87
                processor being used has on-chip CAN [set ::sam7can], and if
88
                that CAN module is accessible on the target hardware."
89
        }
90
 
91
        cdl_component CYGPKG_DEVS_CAN_AT91SAM7_CAN[set ::sam7can] {
92
            display     "Allow access to the on-chip CAN [set ::sam7can] via a CAN driver"
93
            flavor      bool
94
            active_if       CYGINT_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]
95
            default_value   1
96
            implements      CYGINT_DEVS_CAN_AT91SAM7_CAN_CHANNELS
97
            implements      CYGINT_IO_CAN_TIMESTAMP
98
            implements      CYGINT_IO_CAN_RUNTIME_MBOX_CFG
99
            implements      CYGINT_IO_CAN_REMOTE_BUF
100
            implements      CYGINT_IO_CAN_AUTOBAUD
101
            description "
102
                If the application needs to access the on-chip CAN module [set ::sam7can]
103
                via an eCos CAN driver then this option should be enabled."
104
 
105
            cdl_option CYGPKG_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]_NAME {
106
                display     "Device name for CAN module [set ::sam7can]"
107
                flavor      data
108
                default_value   [format {"\"/dev/can%d\""} $::sam7can]
109
                description "
110
                    This option controls the name that an eCos application
111
                    should use to access this device via cyg_io_lookup(),
112
                    open(), or similar calls."
113
            }
114
 
115
 
116
            cdl_option CYGNUM_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]_KBAUD {
117
                display     "Default baud rate for CAN module [set ::sam7can]"
118
                flavor      data
119
                default_value   100
120
                legal_values    { 10 20 50 100 125 250 500 800 1000 "AUTO"}
121
                description "This option determines the initial baud rate in KBaud for
122
                             CAN module [set ::sam7can]"
123
            }
124
 
125
            cdl_option CYGNUM_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]_QUEUESIZE_TX {
126
                display     "Size of TX Queue for the CAN module [set ::sam7can] driver"
127
                flavor      data
128
                default_value   8
129
                legal_values    1 to 64
130
                description "
131
                    The CAN device driver will run in interrupt mode and will
132
                    perform buffering of outgoing data. This option controls the number
133
                    of CAN messages the TX queue can store."
134
            }
135
 
136
            cdl_option CYGNUM_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]_QUEUESIZE_RX {
137
                display     "Size of RX Queue for the CAN module [set ::sam7can] driver"
138
                flavor      data
139
                default_value   32
140
                legal_values    8 to 128
141
                description "
142
                    The CAN device driver will run in interrupt mode and will
143
                    perform buffering of incoming data. This option controls the number
144
                    of CAN events the RX queue can store."
145
            }
146
 
147
            cdl_option CYGNUM_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]_ISR_PRIORITY {
148
                display     "Interrupt priority"
149
                flavor      data
150
                default_value 4
151
                legal_values   0 to 7
152
                description "
153
                    Interrupt priority CAN module [set ::sam7can]. Each interrupt source
154
                    has a programmable priority level of 0 to 7. Level 7 is the
155
                    highest priority and level 0 the lowest."
156
            }
157
 
158
            cdl_option CYGNUM_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]_DEFAULT_TX_MBOX {
159
                display "Default TX message box"
160
                flavor  data
161
                calculated    7
162
                description "
163
                    By default one message buffer will be used for message transmission.
164
                    This option selects one of the 8 CAN message buffers for
165
                    transmission."
166
            }
167
 
168
            cdl_option CYGNUM_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]_STD_MBOXES {
169
                display "11 Bit standard ID msg. buffers"
170
                flavor  booldata
171
                implements CYGINT_IO_CAN_STD_CAN_ID
172
                default_value 3
173
                legal_values  1 to 7
174
                requires CYGNUM_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]_STD_MBOXES + CYGNUM_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]_EXT_MBOXES < 8
175
                description "
176
                    The CAN module provides 8 message buffers. One message buffer
177
                    is reserved for message transmission. The remaining 7 buffers are
178
                    available for reception of messages. This configuration option
179
                    defines the number of message boxes for reception of CAN messages
180
                    with standard identifier. This configuration option does not matter
181
                    when you configure message filters at runtime. Only if the CAN
182
                    modul is configured to receive all available CAN identifiers,
183
                    then this configuration option is important. If you get
184
                    RX overrun events, you should raise the number of message boxes or
185
                    lower the CAN baud rate."
186
            }
187
 
188
            cdl_option CYGNUM_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]_EXT_MBOXES {
189
                display "29 Bit extended ID msg. buffers"
190
                flavor  booldata
191
                implements CYGINT_IO_CAN_EXT_CAN_ID
192
                default_value 4
193
                legal_values  1 to 7
194
                requires CYGNUM_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]_STD_MBOXES + CYGNUM_DEVS_CAN_AT91SAM7_CAN[set ::sam7can]_EXT_MBOXES < 8
195
                description "
196
                    The CAN module provides 8 message buffers. One message buffer
197
                    is reserved for message transmission. The remaining 7 buffers are
198
                    available for reception of messages. This configuration option
199
                    defines the number of message boxes for reception of CAN messages
200
                    with extended identifier. This configuration option does not matter
201
                    when you configure message filters at runtime. Only if the FlexCAN
202
                    modul is configured to receive all available CAN identifiers,
203
                    then this configuration option is important. If you get
204
                    RX overrun events, you should raise the number of message boxes or
205
                    lower the CAN baud rate."
206
            }
207
        }
208
    }
209
 
210
    cdl_option CYGDBG_DEVS_CAN_AT91SAM7_DEBUG {
211
        display "Support printing debug information"
212
            default_value 0
213
            description "
214
                Check this box to turn ON debug options for AT91SAM7 CAN device driver."
215
    }
216
}

powered by: WebSVN 2.1.0

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