annotate packages/devs/eth/arm/xsengine/current/include/devs_eth_xsengine.inl @ 2729:74dbf4c3f2e1 after-copyright-change-20090129

Update all copyright banners to reflect FSF ownership; fix and improve licence text.
author jlarmour
date Thu, 29 Jan 2009 17:47:46 +0000
parents 27f925f10983
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1902
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
1 //==========================================================================
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
2 //
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
3 //
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
4 // XSEngine ethernet I/O definitions.
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
5 //
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
6 //==========================================================================
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
7 // ####ECOSGPLCOPYRIGHTBEGIN####
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
8 // -------------------------------------------
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
9 // This file is part of eCos, the Embedded Configurable Operating System.
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
10 // Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
1902
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
11 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
12 // eCos is free software; you can redistribute it and/or modify it under
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
13 // the terms of the GNU General Public License as published by the Free
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
14 // Software Foundation; either version 2 or (at your option) any later
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
15 // version.
1902
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
16 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
17 // eCos is distributed in the hope that it will be useful, but WITHOUT
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
18 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
19 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
20 // for more details.
1902
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
21 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
22 // You should have received a copy of the GNU General Public License
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
23 // along with eCos; if not, write to the Free Software Foundation, Inc.,
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
24 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
1902
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
25 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
26 // As a special exception, if other files instantiate templates or use
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
27 // macros or inline functions from this file, or you compile this file
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
28 // and link it with other works to produce a work based on this file,
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
29 // this file does not by itself cause the resulting work to be covered by
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
30 // the GNU General Public License. However the source code for this file
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
31 // must still be made available in accordance with section (3) of the GNU
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
32 // General Public License v2.
1902
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
33 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
34 // This exception does not invalidate any other reasons why a work based
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
35 // on this file might be covered by the GNU General Public License.
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
36 // -------------------------------------------
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 1902
diff changeset
37 // ####ECOSGPLCOPYRIGHTEND####
1902
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
38 //==========================================================================
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
39 //#####DESCRIPTIONBEGIN####
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
40 //
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
41 // Author(s): Kurt Stremerch
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
42 // Contributors: Jordi Colomer, nickg
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
43 // Date: 2005-02-23
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
44 // Purpose: XSEngine ethernet definitions
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
45 //####DESCRIPTIONEND####
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
46 //==========================================================================
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
47
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
48 #include <pkgconf/system.h>
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
49 #include <pkgconf/devs_eth_arm_xscale_xsengine.h>
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
50 #include <cyg/hal/hal_intr.h>
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
51
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
52 #ifdef CYGPKG_REDBOOT
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
53 # include <pkgconf/redboot.h>
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
54 # ifdef CYGSEM_REDBOOT_FLASH_CONFIG
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
55 # include <redboot.h>
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
56 # include <flash_config.h>
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
57 # endif
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
58 #endif
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
59
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
60 #define LAN91CXX_IS_LAN91C111
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
61 #define CYGNUM_DEVS_ETH_SMSC_LAN91CXX_SHIFT_ADDR 1
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
62
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
63 #ifdef CYGPKG_DEVS_ETH_XSENGINE_ETH0
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
64
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
65 #if defined(CYGPKG_REDBOOT) && defined(CYGSEM_REDBOOT_FLASH_CONFIG)
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
66 RedBoot_config_option("Set " CYGDAT_DEVS_ETH_XSENGINE_ETH0_NAME " network hardware address [MAC]",
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
67 eth0_esa,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
68 ALWAYS_ENABLED, true,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
69 CONFIG_BOOL, false
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
70 );
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
71 RedBoot_config_option(CYGDAT_DEVS_ETH_XSENGINE_ETH0_NAME " network hardware address [MAC]",
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
72 eth0_esa_data,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
73 "eth0_esa", true,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
74 CONFIG_ESA, 0
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
75 );
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
76 #endif // CYGPKG_REDBOOT && CYGSEM_REDBOOT_FLASH_CONFIG
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
77
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
78 #ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
79 // Note that this section *is* active in an application, outside RedBoot,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
80 // where the above section is not included.
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
81
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
82 # include <cyg/hal/hal_if.h>
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
83
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
84 # ifndef CONFIG_ESA
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
85 # define CONFIG_ESA (6)
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
86 # endif
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
87 # ifndef CONFIG_BOOL
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
88 # define CONFIG_BOOL (1)
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
89 # endif
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
90
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
91 cyg_bool
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
92 _xsengine_provide_eth0_esa(struct lan91cxx_priv_data* cpd)
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
93 {
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
94 cyg_bool set_esa;
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
95 int ok;
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
96 ok = CYGACC_CALL_IF_FLASH_CFG_OP( CYGNUM_CALL_IF_FLASH_CFG_GET,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
97 "eth0_esa", &set_esa, CONFIG_BOOL);
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
98 if (ok && set_esa) {
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
99 ok = CYGACC_CALL_IF_FLASH_CFG_OP( CYGNUM_CALL_IF_FLASH_CFG_GET,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
100 "eth0_esa_data", cpd->enaddr, CONFIG_ESA);
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
101 }
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
102 return ok && set_esa;
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
103 }
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
104
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
105 #endif // CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
106
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
107 static lan91cxx_priv_data lan91cxx_eth0_priv_data = {
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
108 base : (unsigned short *) 0x60000000,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
109 #ifdef CYGSEM_DEVS_ETH_XSENGINE_ETH0_SET_ESA
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
110 enaddr : CYGDAT_DEVS_ETH_XSENGINE_ETH0_ESA,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
111 hardwired_esa : true,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
112 #else
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
113 hardwired_esa : false,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
114 #endif
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
115 #ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
116 provide_esa : &_xsengine_provide_eth0_esa,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
117 #else
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
118 provide_esa : NULL,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
119 #endif
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
120 };
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
121
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
122 ETH_DRV_SC(lan91cxx_sc,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
123 &lan91cxx_eth0_priv_data, // Driver specific data
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
124 CYGDAT_DEVS_ETH_XSENGINE_ETH0_NAME, // Name for device
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
125 lan91cxx_start,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
126 lan91cxx_stop,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
127 lan91cxx_control,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
128 lan91cxx_can_send,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
129 lan91cxx_send,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
130 lan91cxx_recv,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
131 lan91cxx_deliver,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
132 lan91cxx_poll,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
133 lan91cxx_int_vector
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
134 );
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
135
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
136 NETDEVTAB_ENTRY(lan91cxx_netdev,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
137 "lan91cxx_" CYGDAT_DEVS_ETH_XSENGINE_ETH0_NAME,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
138 smsc_lan91cxx_init,
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
139 &lan91cxx_sc);
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
140
27f925f10983 * include/devs_eth_xsengine.inl:
asl
parents:
diff changeset
141 #endif // CYGPKG_DEVS_ETH_XSENGINE_ETH0