URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
Compare Revisions
- This comparison shows the changes necessary to convert path
/or1k/trunk/ecos-2.0/packages/devs/eth/mips/idt79s334a/v2_0
- from Rev 1254 to Rev 1765
- ↔ Reverse comparison
Rev 1254 → Rev 1765
/cdl/refidt334_eth_drivers.cdl
0,0 → 1,149
# ==================================================================== |
# |
# refidt334_eth_drivers.cdl |
# |
# Ethernet drivers |
# Intel PRO/100+ platform specific support for IDT MIPS 334 |
# |
# ==================================================================== |
#####ECOSGPLCOPYRIGHTBEGIN#### |
## ------------------------------------------- |
## This file is part of eCos, the Embedded Configurable Operating System. |
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. |
## |
## eCos is free software; you can redistribute it and/or modify it under |
## the terms of the GNU General Public License as published by the Free |
## Software Foundation; either version 2 or (at your option) any later version. |
## |
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY |
## WARRANTY; without even the implied warranty of MERCHANTABILITY or |
## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
## for more details. |
## |
## You should have received a copy of the GNU General Public License along |
## with eCos; if not, write to the Free Software Foundation, Inc., |
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. |
## |
## As a special exception, if other files instantiate templates or use macros |
## or inline functions from this file, or you compile this file and link it |
## with other works to produce a work based on this file, this file does not |
## by itself cause the resulting work to be covered by the GNU General Public |
## License. However the source code for this file must still be made available |
## in accordance with section (3) of the GNU General Public License. |
## |
## This exception does not invalidate any other reasons why a work based on |
## this file might be covered by the GNU General Public License. |
## |
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. |
## at http://sources.redhat.com/ecos/ecos-license/ |
## ------------------------------------------- |
#####ECOSGPLCOPYRIGHTEND#### |
# ==================================================================== |
######DESCRIPTIONBEGIN#### |
# |
# Author(s): Tim Michals |
# Original data: hmt |
# Contributors: |
# Date: 2003-02-13 |
# |
#####DESCRIPTIONEND#### |
# |
# ==================================================================== |
|
cdl_package CYGPKG_DEVS_ETH_MIPS_REFIDT334 { |
display "MIPS IDT 79RC32334 reference platform ethernet driver" |
description "Ethernet driver for MIPS IDT 79RC32334 reference platform." |
|
parent CYGPKG_IO_ETH_DRIVERS |
active_if CYGPKG_IO_ETH_DRIVERS |
active_if CYGPKG_HAL_MIPS_IDT32334_REFIDT334 |
|
include_dir cyg/io |
|
# FIXME: This really belongs in the INTEL_I82559 package |
cdl_interface CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED { |
display "Intel i82559 ethernet driver required" |
} |
|
define_proc { |
puts $::cdl_system_header "/***** ethernet driver proc output start *****/" |
puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_INTEL_I82559_INL <cyg/io/devs_eth_refidt334.inl>" |
puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_INTEL_I82559_CFG <pkgconf/devs_eth_mips_refidt334.h>" |
puts $::cdl_system_header "/***** ethernet driver proc output end *****/" |
} |
|
cdl_component CYGPKG_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0 { |
display "IDT 79RC32334 ethernet port 0 driver" |
flavor bool |
default_value 1 |
|
implements CYGHWR_NET_DRIVERS |
implements CYGHWR_NET_DRIVER_ETH0 |
implements CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED |
|
cdl_option CYGDAT_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0_NAME { |
display "Device name for the ETH0 ethernet port 0 driver" |
flavor data |
default_value {"\"eth0\""} |
description " |
This option sets the name of the ethernet device for the |
i82559 ethernet port 0." |
} |
|
cdl_component CYGSEM_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0_SET_ESA { |
display "Set the ethernet station address" |
flavor bool |
default_value 0 |
description "Enabling this option will allow the ethernet |
station address to be forced to the value set by the |
configuration. This may be required if the hardware does |
not include a serial EEPROM for the ESA." |
|
cdl_option CYGDAT_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0_ESA { |
display "The ethernet station address" |
flavor data |
default_value {"{0x08, 0x00, 0x00, 0x00, 0x00, 0x01}"} |
description "The ethernet station address" |
} |
} |
} |
|
cdl_component CYGPKG_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1 { |
display "IDT 79RC32334 ethernet port 1 driver" |
flavor bool |
default_value 1 |
|
implements CYGHWR_NET_DRIVERS |
implements CYGHWR_NET_DRIVER_ETH1 |
implements CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED |
|
cdl_option CYGDAT_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1_NAME { |
display "Device name for the ETH0 ethernet port 1 driver" |
flavor data |
default_value {"\"eth1\""} |
description " |
This option sets the name of the ethernet device for the |
i82559 ethernet port 1." |
} |
|
cdl_component CYGSEM_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1_SET_ESA { |
display "Set the ethernet station address" |
flavor bool |
default_value 0 |
description "Enabling this option will allow the ethernet |
station address to be forced to the value set by the |
configuration. This may be required if the hardware does |
not include a serial EEPROM for the ESA." |
|
cdl_option CYGDAT_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1_ESA { |
display "The ethernet station address" |
flavor data |
default_value {"{0x08, 0x00, 0x00, 0x00, 0x00, 0x02}"} |
description "The ethernet station address" |
} |
} |
} |
|
} |
|
# EOF refidt334_eth_drivers.cdl |
cdl/refidt334_eth_drivers.cdl
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: include/devs_eth_refidt334.inl
===================================================================
--- include/devs_eth_refidt334.inl (nonexistent)
+++ include/devs_eth_refidt334.inl (revision 1765)
@@ -0,0 +1,173 @@
+//==========================================================================
+//
+// devs_eth_refidt334.inl
+//
+// IDT79S334a i82559 ethernet I/O definitions.
+//
+//==========================================================================
+//####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later version.
+//
+// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with eCos; if not, write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+//
+// As a special exception, if other files instantiate templates or use macros
+// or inline functions from this file, or you compile this file and link it
+// with other works to produce a work based on this file, this file does not
+// by itself cause the resulting work to be covered by the GNU General Public
+// License. However the source code for this file must still be made available
+// in accordance with section (3) of the GNU General Public License.
+//
+// This exception does not invalidate any other reasons why a work based on
+// this file might be covered by the GNU General Public License.
+//
+// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
+// at http://sources.redhat.com/ecos/ecos-license/
+// -------------------------------------------
+//####ECOSGPLCOPYRIGHTEND####
+//==========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): Tim Michals
+// Contributors:jskov
+// Date: 2003-02-13
+// Purpose: IDT79s334A i82559 ethernet defintions
+//####DESCRIPTIONEND####
+//==========================================================================
+
+#include // CYGNUM_HAL_INTERRUPT_ETHR
+
+#if 1 < CYGNUM_DEVS_ETH_INTEL_I82559_DEV_COUNT
+#define CYGHWR_DEVS_ETH_INTEL_I82559_DEMUX_ALL
+#endif // multiple devs, so demux_all needed
+
+
+#if defined(CYGPKG_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0) || defined(CYGPKG_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1)
+
+#define CYGHWR_INTEL_I82559_PCI_MEM_MAP_BASE 0xa0100000
+#define CYGHWR_INTEL_I82559_PCI_MEM_MAP_SIZE 0x100000 //CYGMEM_SECTION_pci_window_SIZE
+
+#define CYGHWR_INTEL_I82559_PCI_VIRT_TO_BUS( _x_ ) (((cyg_uint32)(_x_))|0)
+#define CYGHWR_INTEL_I82559_PCI_BUS_TO_VIRT( _x_ ) (((cyg_uint32)(_x_))&~0)
+#endif
+
+
+#ifdef CYGPKG_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0
+
+static I82559 i82559_eth0_priv_data = {
+#ifdef CYGSEM_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0_SET_ESA
+ hardwired_esa: 1,
+ mac_address: CYGSEM_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0_SET_ESA
+#else
+ hardwired_esa: 0,
+#endif
+};
+
+ETH_DRV_SC(i82559_sc0,
+ &i82559_eth0_priv_data, // Driver specific data
+ CYGDAT_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0_NAME, // Name for device
+ i82559_start,
+ i82559_stop,
+ i82559_ioctl,
+ i82559_can_send,
+ i82559_send,
+ i82559_recv,
+ i82559_deliver,
+ i82559_poll,
+ i82559_int_vector
+ );
+
+NETDEVTAB_ENTRY(i82559_netdev0,
+ "i82559_" CYGDAT_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0_NAME,
+ i82559_init,
+ &i82559_sc0);
+
+#endif // CYGPKG_DEVS_ETH_XXX_ETH0
+
+
+
+
+#ifdef CYGPKG_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1
+
+static I82559 i82559_eth1_priv_data = {
+#ifdef CYGSEM_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1_SET_ESA
+ hardwired_esa:2,
+ mac_address: CYGSEM_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1_SET_ESA
+#else
+ hardwired_esa: 0,
+#endif
+};
+
+ETH_DRV_SC(i82559_sc1,
+ &i82559_eth1_priv_data, // Driver specific data
+ CYGDAT_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1_NAME, // Name for device
+ i82559_start,
+ i82559_stop,
+ i82559_ioctl,
+ i82559_can_send,
+ i82559_send,
+ i82559_recv,
+ i82559_deliver,
+ i82559_poll,
+ i82559_int_vector
+ );
+
+NETDEVTAB_ENTRY(i82559_netdev1,
+ "i82559_" CYGDAT_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1_NAME,
+ i82559_init,
+ &i82559_sc1);
+
+#endif // CYGPKG_DEVS_ETH_XXX_ETH1
+
+
+
+
+// These arrays are used for sanity checking of pointers
+I82559 *
+i82559_priv_array[CYGNUM_DEVS_ETH_INTEL_I82559_DEV_COUNT] = {
+#ifdef CYGPKG_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0
+ &i82559_eth0_priv_data,
+#endif
+#ifdef CYGPKG_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1
+ &i82559_eth1_priv_data,
+#endif
+};
+
+#ifdef CYGDBG_USE_ASSERTS
+// These are only used when assertions are enabled
+cyg_netdevtab_entry_t *
+i82559_netdev_array[CYGNUM_DEVS_ETH_INTEL_I82559_DEV_COUNT] = {
+#ifdef CYGPKG_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0
+ &i82559_netdev0,
+#endif
+
+#ifdef CYGPKG_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1
+ &i82559_netdev1,
+#endif
+
+};
+
+struct eth_drv_sc *
+i82559_sc_array[CYGNUM_DEVS_ETH_INTEL_I82559_DEV_COUNT] = {
+#ifdef CYGPKG_DEVS_ETH_MIPS_REFIDT334_I82559_ETH0
+ &i82559_sc0,
+#endif
+#ifdef CYGPKG_DEVS_ETH_MIPS_REFIDT334_I82559_ETH1
+ &i82559_sc1,
+#endif
+};
+#endif
+
+// EOF devs_eth_refidt334.inl
Index: ChangeLog
===================================================================
--- ChangeLog (nonexistent)
+++ ChangeLog (revision 1765)
@@ -0,0 +1,39 @@
+2003-02-13 Tim Michals
+2003-02-13 Jonathan Larmour
+
+ * New package - support for MIPS IDT 79s334a board.
+
+//===========================================================================
+//####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Red Hat, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later version.
+//
+// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with eCos; if not, write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+//
+// As a special exception, if other files instantiate templates or use macros
+// or inline functions from this file, or you compile this file and link it
+// with other works to produce a work based on this file, this file does not
+// by itself cause the resulting work to be covered by the GNU General Public
+// License. However the source code for this file must still be made available
+// in accordance with section (3) of the GNU General Public License.
+//
+// This exception does not invalidate any other reasons why a work based on
+// this file might be covered by the GNU General Public License.
+//
+// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
+// at http://sources.redhat.com/ecos/ecos-license/
+// -------------------------------------------
+//####ECOSGPLCOPYRIGHTEND####
+//===========================================================================