Mercurial > ecos
annotate packages/devs/eth/cf/current/include/devs_eth_cf.inl @ 163:0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
| author | jlarmour |
|---|---|
| date | Fri, 22 Jun 2001 18:18:44 +0000 |
| parents | |
| children | 678094f34118 |
| rev | line source |
|---|---|
|
163
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
1 //========================================================================== |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
2 // |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
3 // devs_eth_cf.inl |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
4 // |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
5 // CF (PCMCIA) ethernet I/O definitions. |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
6 // |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
7 //========================================================================== |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
8 //####COPYRIGHTBEGIN#### |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
9 // |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
10 // ------------------------------------------- |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
11 // The contents of this file are subject to the Red Hat eCos Public License |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
12 // Version 1.1 (the "License"); you may not use this file except in |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
13 // compliance with the License. You may obtain a copy of the License at |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
14 // http://www.redhat.com/ |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
15 // |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
16 // Software distributed under the License is distributed on an "AS IS" |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
17 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
18 // License for the specific language governing rights and limitations under |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
19 // the License. |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
20 // |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
21 // The Original Code is eCos - Embedded Configurable Operating System, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
22 // released September 30, 1998. |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
23 // |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
24 // The Initial Developer of the Original Code is Red Hat. |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
25 // Portions created by Red Hat are |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
26 // Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc. |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
27 // All Rights Reserved. |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
28 // ------------------------------------------- |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
29 // |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
30 //####COPYRIGHTEND#### |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
31 //========================================================================== |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
32 //#####DESCRIPTIONBEGIN#### |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
33 // |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
34 // Author(s): jskov |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
35 // Contributors:jskov |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
36 // Date: 2001-06-15 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
37 // Purpose: PCMCIA ethernet defintions |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
38 // |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
39 //####DESCRIPTIONEND#### |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
40 //========================================================================== |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
41 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
42 #include <cyg/hal/hal_intr.h> // CYGNUM_HAL_INTERRUPT_ETHR |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
43 #include <cyg/hal/hal_if.h> |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
44 #include <cyg/infra/cyg_type.h> |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
45 #include <cyg/io/pcmcia.h> |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
46 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
47 #ifdef __WANT_CONFIG |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
48 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
49 #undef CYGHWR_NS_DP83902A_PLF_INT_CLEAR |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
50 #define CYGHWR_NS_DP83902A_PLF_INT_CLEAR(_dp_) \ |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
51 CYG_MACRO_START \ |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
52 struct cf_slot* slot = (struct cf_slot*) (_dp_)->plf_priv; \ |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
53 cf_clear_interrupt(slot); \ |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
54 CYG_MACRO_END |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
55 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
56 #endif // __WANT_CONFIG |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
57 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
58 #ifdef __WANT_DEVS |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
59 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
60 externC int cyg_sc_lpe_int_vector(struct eth_drv_sc *sc); |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
61 externC bool cyg_sc_lpe_init(struct cyg_netdevtab_entry *tab); |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
62 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
63 #ifdef CYGPKG_DEVS_ETH_CF_ETH0 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
64 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
65 static dp83902a_priv_data_t dp83902a_eth0_priv_data = { |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
66 #ifdef CYGSEM_DEVS_ETH_CF_ETH0_SET_ESA |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
67 esa : CYGDAT_DEVS_ETH_CF_ETH0_ESA, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
68 hardwired_esa : true, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
69 #else |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
70 hardwired_esa : false, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
71 #endif |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
72 }; |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
73 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
74 ETH_DRV_SC(dp83902a_sc, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
75 &dp83902a_eth0_priv_data, // Driver specific data |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
76 CYGDAT_DEVS_ETH_CF_ETH0_NAME, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
77 dp83902a_start, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
78 dp83902a_stop, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
79 dp83902a_control, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
80 dp83902a_can_send, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
81 dp83902a_send, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
82 dp83902a_recv, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
83 dp83902a_deliver, // "pseudoDSR" called from fast net thread |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
84 dp83902a_poll, // poll function, encapsulates ISR and DSR |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
85 cyg_sc_lpe_int_vector); |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
86 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
87 NETDEVTAB_ENTRY(dp83902a_netdev, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
88 "dp83902a_" CYGDAT_DEVS_ETH_CF_ETH0_NAME, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
89 cyg_sc_lpe_init, |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
90 &dp83902a_sc); |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
91 #endif // CYGPKG_DEVS_ETH_CF_ETH0 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
92 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
93 #endif // __WANT_DEVS |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
94 |
|
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
diff
changeset
|
95 // EOF devs_eth_cf.inl |
